To get big battles you just need to give the AI factions a chance to develop. In my first few campaigns I did my usual blitz and they were a walkover. Now however, I only recruit front-line troops (eg legionaries for Romans) in cities with no culture penalty, and I refuse to exterminate cities.
The combination means that conquering armies stay depleted until I can send reinfocements out (or send them home to refit) but end up having to garrison new provinces, so it's very hard for an individual army to take provinces quicker than once every five to ten years.
That in turn means that the AI can get on with what it wants to do: as far as I can tell, it likes to build up a fairly solid base and then expand fairly cautiously. Give it time and it can get very strong.
I rarely see AI armies less than a full stack, and there are lots of them. They can also be very experienced: I just lost a full stack to a stack of triple-silver Thracians, though to be fair my next (more balanced) army took a terrible revenge (and Tylis).
It doesn't actually seem to slow the campaign down much: you do less in the first 30-50 years, but of course you get more turns per hour.
Cheers,
Pell.R.
Bookmarks