I think one way to inject some tactics into stacked combat, make stacked combat more interesting and give a player some influence on the outcome, would be to have different "tactical options" that the attacker and defender would pick from before the battle starts. So for example, the attacker could choose between "cautious advance", "flanking maneuver", "cavalry charge", "full frontal assault", "retreat" etc... The defender would get options like "stand your ground", "fake retreat", "ranged attack", "frontal assault", "full retreat" etc... Some options might be unavailable based on the composition of your stack. For example, you can't do a "cavalry charge" if you don't have any cavalry units in your stack. The options would modify the combat numbers. You could also have a paper-rock-scissors model where some options would be better against other options. Also, great generals could give the player extra options or add special options. Maybe a great general has a special option that is great with cavalry so it would make sense to stack more cavalry with that great general and use this special cavalry attack to win battles. Giving the player these different options would spice up stacked combat so that it is not just a clash of stacks with a predetermined outcome. And the player's decisions would have some effect on the battle outcome, just like how in the real world some battles were won or lost because of choices the generals made. Lastly, this would add some tactics without bogging the game down in a full tactical combat mini-game.