A more abstract solution would be to base armies out of towns or castles, which each castle say supporting 1 army while towns support 3. Then the further you get from your support town the more cohesion you lose until your army falls apart. That would incentivize monkey-branching from castle to castle instead of leapfrogging all over the place. Since sieges can take awhile factions would need to grab nearby castles to support their armies before settling down for a town siege.