The game is not economically balanced yet. The various fanmade balancing found in the unofficial mods section is a popular choice to ease the amount of stacks the AI sends.

As for me, I send expeditionary forces to raid the enemy cities. Raze everything if you like, or only his production if you intend to retake the city and hold it a bit later. It will cripple his unit production and he'll have to resort to lowlevel units that can be easily beaten in droves.