IMO
a unit must have this kinda spells:
1 low level Multi demage spell like impale, breath of fire ect...
1 Aura type pasive spell anything can be like an aura or a kind of poison attack or slow arrows ect.
1 one target demage or a buff spell it can be like methamorphosis or making your self attack faster or massive demage on a single target or making it slow or stunned ect.
1 high level multi demage like starfall
this is my perfect combination in a hero but if you work on races and this races are attacking each other, every race must have a weak part and a strong part.
Forex make a races heroes generally have multi targeted demage spells but make their units weak. And make other race one taget spells and make their units stronger.
If a race has a kind of spell immunutiy other side must have fast attacks or something increases its armour.
To balance the game dont make people die too much or live too longer. If you want a hard map make their revieve times faster or cheaper.
If you want action or make people stick their heroes,
forex make levels of spells a kinda unbalanced if your spell has 8 levels and lets say it does 100 demage on first level make it like that,
level 1: 100 demage
level 2: 200 demage
level 3: 300 demage
level 4: 350 demage
level 5: 400 demage
level 6: 450 demage
level 7: 500 demage
level 8: 1000 demage
with this style people will gain something on first levels
on mid levels you give a chance for other people to level up also make people concantrade on their other spells
and on higher levels u give people a goal like "if i can make this spell level 8 i can do bla bla"
hope this gives a point