From playing a few games, I noticed the game is pretty unbalanced. However, while at the same time I feel if those demigod's power were nerfed, they might lose their niche/attractiveness.
So, a simple idea is just make each demigod level up at a difference pace.
That way, each demigod will be able to hold their own niche but now they need a consideration of "time" heavily.
Strategic planning will be important as demigods need to achieve each objective in their long term goal to obtain victory.
Some of the more OP demigod can level slower and that would make it big enough nerf only during early game. While when they reach their max potential by playing carefully, the opponent "deserve to lose" because they allowed it to happen.
Faster leveling demigod will have options of skipping exp flag more often, while slow leveling demigod can still run rampant with their high power even at lower level; though still less skills available to them, so it would limit their overall vastility.
Easier said than done. The exact experience value to balance the demigods would be a decent loads of works.
========================
A work around is to have each skill to require a certain amount of experience point instead of level. Much like gold to items. So more powerful skills are harder to get with more reward. While cheap skills can make it in time to make some difference while comating opponents.
Although indirectly, I think this can give demigod more RTS-like features. As time/pace become an important aspect of battle.
It will not fix the feeling of general are assassin with pets though. To fix that I think general need to be able to make an impact in multiple front of the battle field. In a real war, a general can be fighting multiple fronts making decisions for each.