Automatically selecting next army, after exhausting move for current army: good.
Automatically selecting next army, just because I've moved one unit out of the army: bad.
Automatically selecting next army, when I've moved a pioneer on to a city square: bad (most of the time).
What seems to be missing from the current logic, is a correct notion of whether the user's action "consumes" the current army's turn.
Not good to go on to next army, if there is still something more that could be done with current army.
There are some borderline cases: a pioneer could make "Outpost" almost anywhere. Open to debate whether this means any movement of a pioneer (that doesn't start a multi-turn move) means it won't select next unit until you hit tab. Just in case you wanted to do an Outpost where you've just moved to.
Similar borderline case regarding "Guard".
But the cases I list at start of post seem like "no brainers".