My solution:
Increase the upkeep per unit at higher levels dramatically. At the moment, it is possible to create an infinite-sized army consisting of slingers and warriors (and Sumerian war-carts if available) even at deity FOR FREE. If you add the "-1 Gold per unit" card, you can support an infinite army of warriors, slingers, spearmen, archers, galleys, chariots, and battering rams.
(A related observation here is that there's too much gold in the game, after the first trade routes come on line. I always have hundreds and then thousands of gold surplus per turn, and I run out of things to spend it on. Money should be SCARCE in game, as it has almost always been in history, so as to create drama and tension.)
My proposal: In the ancient era, at Prince or King, the first unit is free. Second unit costs 1 GPT. Third unit costs 2 GPT. And so on. A big army, if you can produce it, is going to be expensive, even for lower difficulty levels. If you have seven units moving around in the ancient era, it will cost you 21 gold per turn. You can look at your balance and know whether you can afford to enlarge your army. If you don't have +7 gold for the eighth unit, you'll be running a deficit, and when you hit zero, your units will be disbanded. In later eras, the costs can be 1/2/3/4/5... and 2/3/4/5... instead of 0/1/2/3/4...
Of course the numbers might need some adjustment to play well - maybe the first three units would be free and then the prices climb would more slowly than in my example above - but this shouldn't be too hard to optimize.
Then, you could address the problem of easy higher levels by increasing these costs accordingly for the top difficulties. Instead of 0/1/2/3/4 costs in the ancient age, it would be perhaps 1/2/3/4/5... for Emperor, perhaps 2/2/3/4/5 for Immortal, and 3/3/4/5/6.. for Deity. That would be a real challenge! If turns out to be too hard - bring the numbers down a bit; but no one would say it's too easy.