I've given this some more though and while I can support some sort of Hero stacking XP penalty, the current implementation of just dividing the XP equally is way too severe and completely discourages 2-3 Hero armies. What I would do is dramatically flatten the penalty curve.
For example, given a hypothetical battle with 300 XP:
Current implementation:
1 Hero = 100% xp or 300 xp
2 heroes = 50% xp or 150 xp each
3 heroes = 33% xp or 100 xp each
4 heroes = 25% xp or 75 xp each
5 heroes = 20% xp or 60 xp each
6 heroes = 16% xp or 50 xp each
You can see clearly that the curve is very steep, as soon as you add a second champion you take a 50% penalty and the rate of XP penalty per hero slows down from there.
What I would do is try to flatten the curve with something more linear like this:
1 Hero = 100% xp or 300 xp
2 heroes = 80% xp or 240 xp each
3 heroes = 60% xp or 180 xp each
4 heroes = 40% xp or 120 xp each
5 heroes = 30% xp or 90 xp each
6 heroes = 20% xp or 60 xp each
On the off chance a player actually puts an army with 7-9 heroes, unlikely but perhaps possible, you probably want to set a minimum floor, maybe at 15% XP or thereabouts?
The net result is that the penalty is less severe overall. Maximizing one hero would still mean letting them do all the work and leaving all the others parked at home. However, if it worked like this, 2-3 Hero armies are penalized far less severely and would hopefully feel like a fun and viable option. 4-6 hero armies are still penalized pretty steeply, although still less than the current implementation, but it should be more than enough to discourage all hero stacks of doom.
Some of you will no doubt point out that this proposal effectively results in an XP multiplier, i.e. 2 heroes net 480 XP, 3 heroes net 540 XP, etc. This is true and my response is that I do not think this would harm game play, in fact I think it would make it more fun. It gives the player a choice on army composition, whether to maximize one hero, or have 2-3 champion armies leveling up a bit slower, or an all champion army that levels very slowly.
The other reason I don't think this is an issue is because regular troops currently multiply XP all the time since they are exempt from the XP splitting rule, leading in part to the perceived imbalance between troops and Heroes in the current implementation. Those of you who want no XP multiplication surely then also want to split XP with troops in the army as well in order to be consistent and fair? Personally I think such a change would slow down leveling far too severely and would not lead to fun gameplay.
In addition, I would suggest looking at tweaking the available XP on the board, making XP more abundant. Alternatively, or possibly in addition, I would look at maybe tweaking how hero leveling XP requirements scale, i.e. maybe make each additional level a little less XP expensive so heroes level up a little faster. Obviously all these changes require carefully study to make sure it's balanced, but I think it would be a big step in the right direction.
Tldr; This game needs Legendary Heroes!!! The current hero XP splitting penalty is far too severe and should be significantly reduced.