This might get a little lengthy.
It just occured to me, that I don't use my army. Battle starts, I tell them to hold position and only use them as fail safe in case I get knocked out. Mostly because all the other knights are busy getting killed, getting in the way (as in stopping me dead) and hence getting ME killed as well.
An additional option might make combat a bit more tactical and retain some realism (though it might be too complex to add).
I'd like to call it battle plans. No complex orders during the battle (you can't just say "out time" and discuss a new strategy), but a couple preset orders linked to signals (horn signals, colored flags or even shouts).
Basically before the battle starts you would be offered to go to the tactics screen (top down view of the battle field). Here you could group your army into seperate units and prepare a couple of orders to be executed on a given signal (that and you could deploy your army if the situation allows it).
The bare minimum order would be "move here" and "attack move here", with "here" being a selected point on the map. In practice that would mean you deploy 10 archers behind a hill (for various reasons explained later) and set a waypoint on top the hill. You set their orders for "signal 1" to be "move here". At the same time you could place your knights behind another hill to the side and prepare "attack move here" (for demonstration reasons also on "signal 1").
In the battle itself you would press '1', the archers would take position on the hill while the knights charge around the hill, attacking all enemies on the way.
You could hence prepare "rally points" just by selecting and creating the order "move here" on "signal" 9. Except for the kind of complex interface it shouldn't add too much complexity to the AI, but would allow for to set ambushs or traps, regroup your troops and still maintain some degree of realism, by only having preset orders (along maybe a few general orders).
Bonus would be commands like "defend unit x" (most likely to tell troops with spears to protect the archers or something).
Now, how would the tactics skill be useful for this? Tons of ways. It could limit the number of signals you can set or the number of orders to give a unit (though the latter might be more a consequence of leadership). Your deployment zone could depend on it as well, so the higher your tactics the more flexbile is your troop deployment. Spotting could be abused to make out enemy positions on the map during the planning phase or how much of the map is visible to you in the first place. If many different skills affect your options there might be even more reason to have multiple npcs in your party and sacrificing the slot for a single "unit".
The point behind it is that I wouldnt want to make changes to the combat as such AND I would prefer it as an option, because some players might simply want to get into the fray and have fun without spending 5 minutes planing the battle. I'll try to create a dummy screen to illustrate the interface a bit more.
Another reason I thought about it were the infamous sieges which were the result of a thread about making merchants more interesting. Basically the chain was "hm, buying/building houses would be neat", "castles would be even nicer as an 'endgame'-like feature", "castles need to planned well and withstand sieges", "sieges would require new machinery and units", "sieges wouldn't work with the current combat system". Eventually I watered it down into preset "move" commands, hoping that would make it at least remotely doable ,-)
Edit: ok, try to ignore that it's an ugly and confusing mess and as far as interfaces go it's about as screwed up as it gets. Arg, also try to imagine small symbols representing the groups and their position for deployment.
Speaking about data structures to implement it:
-waypoints (2 ints or floats)
-2 ai commands (move and avoid fights, move and engage enemy), thinking about it, plain move could also be dropped
-order (signal + list of command/waypoint pairs -or make it one instead of a list)
In its easiest form, whenver the player gives a signal all orders assigned to this signal will be executed, ie. the units will move to the specified waypoint.