Balancing Creature battles in a new card game
Forget fixed stat blocks decided by the type. They're too deterministic! Nobody wants to remember all those different number triplets! What should you do instead?

Use non-transitive dice

Each creature has a colour for attack and one for defence. When a creature is attacking, it rolls a die of the same colour as its attack marker, and similarly for its defence. The higher result succeeds, whether to hit or to block. A five-year-old could learn this game in five minutes.

How do types fit into this?

You could set each type to a unique colour, and each colour to a unique type. Then you have guaranteed a balanced competition in which every type has advantages and disadvantages in the same measure, and in a way that is determined by simple rules, but provides some chance of winning despite the disadvantage or losing despite the advantage.

I'm sure finding or creating a seven-member set of non-transitive dice is easy with Google available. You're definitely not the first person to investigate these amazing quirks of probability. Problem solved!

Or you could make this game interesting...

Who says Type X has to use red dice for boh attack and defence? Why can't they roll a red attack and a green defence, or a yellow attack and red defence?

By mixing and matching different colour combinations, you can simultaneously make your game simpler in mechanic by reducing the number of colours (from seven to say, four) but deeper in strategy (because there are now sixteen possible combinations, and they will all interact differently with the others).

Now creatures may be perilously weak against some enemies, but immensely strong against others. They might be their own worst enemy or their own easiest target.

But wait, there's more. Include colours that are always weaker or always stronger (like a white one rolling five 2 and a single 7, or a black one rolling a single 1 and 10 otherwise). Now you can build the type that fails spectacularly but carries useful benefits, or the type that will always win after striking first but always lose if forced to wait, or the type that is expensive but virtually unbeatable once it gets involved.

So how do I count damage done, when both need to inflict it?

You roll both creatures making an attack, and both creatures making a block. Successful attacks knock off a health point, or even just knock off the opponent.

You should not be aiming to guarantee damage for or to either side - again, deterministic and boring. The result otherwise is a MTG-style arms race where only the players who spend hundreds on cards and the encyclopaedic knowledge to tailor decks specifically to an opponent can win effectively at a high level, or knowing the only rules technicality that the opponent has failed to protect against.

This game has a simple mechanic, that everybody knows. The rest is all down to what you can do with what you have, and that's the same for everybody. The best player isn't rich or connected or a lawyer-in-training; they're a thinker who can take efficient risks for effective rewards no matter what situation they find themselves in.

This mechanic can be easily modified for expansion or depth. Bonus dice for surviving a certain number of turns?  Mirror effects that mean always using the same colour as the opponent? Rainbow marks that allow choosing the colour when you play it? Allowing weak creatures to band together and combine results?