There was a discussion started on the HW thread about enemy morale, that came to an interesting and applicable proposition. In the gap between battle sequences, when the player is given the option of (attack, order troops to attack, and leave/surrender) ... the enemy force does not have a chance to disengage.
It needs to run a check to see if they attack or retreat (presumably the same one that determines if they attack or run on the map), and another for party speed (again, presumably the same one that determines if the player gets the "leave" option. If they want to leave and can, it would go straight to the loot screen (maybe a message screen, "The enemy breaks and runs" "continue"). Then, their force (what's left of it) would still be on the map after the battle, like with the "leave" option.
That should be a priority ... every battle should not drag on to the last man standing.