I don't know if this is on the to-do list or anything, but I thought I would throw my two cents in there anyways.
As of now, rolling over the AI has been quite easy, and outside of giving them massive increases to gold and troop production, there doesn't look to be a way in game to stop this. So I have a couple suggestions to make it easier for the AI to put up a fight that would make sense in game.
1. In Gal Civ II, you needed troop ships to take a planet, these were more expensive to build, useless in combat, and quite slow (unless modded later by the player). This worked well in that you needed to prepare for an invasion in order to attack the AI. In FE, all I have to do is take my monster killing stack on a slight diversion and roll over the opponents cities. My suggestion is to add siege equipment to take a city, or to have to wait a number of turns (depending on city size) to starve the opponents forces out. This would give the AI time to react and/or require you to build siege equipment and plan your attacks.
2. Army wages are ridiculously high compared to the power of the army that you receive, as such, it is impossible for the AI to build proper garrison forces in order to stave off attack. My suggestion would be to allow a number of free garrison units in each settlement that correspond to the city level + number of barracks, walls, and/or troop supporting structures present in the town. You could even allow the player/ai to design the garrison unit, and have different buildings or perhaps the city level that defines how much labor cost you can put into the garrison troop.
3. It is too easy to gain ridiculous momentum when fighting an enemy kingdom, when you take over a city there is no penalty at all. The people there just continue to work and produce like nothing ever happened. By sneak attacking an enemy, you quickly become an unstoppable juggernaut and the game loses all challenge. My suggestion would be to either create an unrest timer in which you can't produce anything within the city, or to have it be a "support city" in which you can't produce new units, but you do gain the research/gold production from the city. Another option would be if you raze the settlement you can salt the earth, then in that entire settlements dominion nothing can ever be built again. This would prevent the AI from going there and plopping down another city right on top of the one you just razed.
4. This one is a little off topic, but drastically increasing the cost of pioneers is necessary in order to reduce city/outpost spam. Perhaps even scaling the cost of the pioneer depending on how many cities/outposts are present within your empire is a solution. Settling a new city or outpost should be important, and I should want to protect the settlers that I have traveling to the new city site rather than have them be throwaway units.