Limiting Uberheroes
I remember following the development of Age of Wonders Shadow Magic about 10 years ago, and since those guys were and are pretty much as open to suggestions and feedbacks as Stardock, I had a pretty good impression of what was going on.
At some point they ended up with the same issues that Elemental is having now: Heroes were too strong.
In fact probably most people noticed that in order to win in these latest versions of the game one can just pump up a few heroes and auto fight anything they see.
the AOW developers thus decided to cap heroes level to 30 and allow experience points only to those units who blew the final blow to a dying enemy. I believe that would work here too. Each enemy would give a certain specific amount of experience but only the one unit that actually hits them last gets the points. I can see that not everyone may agree with that, but in fact that adds some spice to battles, since one needs to be careful about when to endanger his precious heroes.
Of course that would also mean that if a unit retreats during a battle gets no experience and most units involved in the fight would get no experience at all if the fight was too simple. Makes sense and works.
Personally I would also limit the amount of experience points a hero gets after a battle. IMO 3 are way too many, one would be enough.
I also wouldn't mind if the experience points were randomly distributed by the game. As it is now they all go into attack and defense, but randomizing their experience would force us to apply specific new strategies and adapt to their differentiation and peculiarities.
The fact of limiting heroes would also finally make armies more useful again, something we have lost in the latest versions of the game.