Monster behavior AI needs some serious love.
I had a post a while back about monsters decimating towns that was something like this:
When a monster attacks a town (and wins), it should make that town its new lair. Depending on the population of the town, there'd be a number of turns that you could retrieve the town (with some damage, and a drastically reduced population) before the whole thing just poofed into a pile of rubble. (A new monster would automatically spawn on its old lair).
The same mechanic could be used for outposts, but without the delay. So if a monster destroy an outpost it sets up a new lair.
Using your idea, once a monster takes a town (And reduces it to rubble), it's radius of attack would center on that town.