Perhaps a limit of 6 moves per day could be implemented — heroes move six times — and then that's it, they've fired their shots and disperse. On a new day, the onslaught resumes.
6 moves is, of course, a bit much from a tactical standpoint, but previously there was no such "bonus" at all; and from the perspective of battle realism, it actually fits — the first assault, with 3 moves for each side. On one hand, heroes with small armies won't be able to hold off the enemy for a day — they'll definitely be cut down in 3 moves. But a more or less large army is capable of waiting for reinforcements if they are a day's journey away.
Such a system aligns with both battle realism and increases tactical possibilities. Moreover, everything remains balanced.