I think that there is currently a huge difference between offensive stats (accuracy, spell mastery, ...) and defensive stats (dodge, spell resistance, ...). The offensive stats increase in most cases much faster than the defensive stats to prevent invulnerable heroes and units:
For example accuracy increases by 1 point per level, but dodge does not increase per level. To make this worse units get a huge accuracy bonus in a fortress. This means that dodge does not matter against high level trained units, because the accuracy is too high. There is one exception: Lucky. This trait ruins the balance between accuracy and dodge, because it increases them by 25 % and makes already strong stats overpowered. Lucky should work like backswing to make it useful, but not overpowered.
Spell mastery and spell resistance should be balanced, because both increase by 1 point per level, but it is very difficult to increase the spell resistance for non-defenders. This means that spell resistance does not matter in most cases, because the spell mastery is too high, and this results in spells that always inflict maximum damage and counterspells that always succeed.
I think Stardock should increase the usefulness and availability of the stat increasements, but limit the number of the stat increasements. For example abilities like the evade spell (dodge + 6 + 2 per air shard) or the dodge ability of the assassin (dodge + 4) are too weak, but if you stack many of them dodge gets overpowered. This applies to all offensive and defensive stats. For example dodge should be a single ability that increases the dodge by 25 and fortresses should unlock traits that can be used in the unit design.