To avoid blobs, I think we need better looting and higher walls. Or, maybe, we just need a culture change to convince people that looting is good and walls are high.
The typical scenario currently is the following: Realm A and B are of roughly equal size. Realm A has a single army, realm B has three armies B1, B2 and B3.
Army A meets army B1 while armies B2 and B3 are in different regions. Army B1 is crushed, B2 and B3 are free to roam around. Realm A does not care if armies B2 and B3 loot; it has managed to cross the frontline unharmed. It beelines to the capital and storms it. Realm A dies.
We need to give a very good reason to Army A to want to avoid this scenario. We need the armies B2 and B3 to do a lot of damage, so much that army A cannot help but to turn around and fight them.