Been thinking of a way to throw one together when you don't have time/table space for all this or all this.
Prep an Encounter Table, this is just like any other Random Encounter Table except it's for troops and events they'll meet on the battlefield and it goes from wimpiest to scariest, (also, it starts with 2 for reasons that will become obvious) for example--
2 d4 orcs
3 d4 orcs on worgs
4 d4 uruk hai
5 d4 uruk hai on carrion crawlers
6 Cave troll
7 2 Cave trolls
8 Cave troll and ceiling collapsing
9 Enemy wizard casts fireball
10 One of those big multitusk elephant things
11 Witch King on one of those flying leechdragon things
Define an objective--PCs have an objective for this battle conceived by themselves or their boss "Take the green tower!" "Find General Skrool and slay her!" "Survive the fight!"
Fight starts. Troops surge forward. Give the PCs an option of two different encounters they can get into, not necessarily off the table, say "There are 2 giant scorpions being driven forward by a hobgoblin on the left and 5 kobolds on the right". Then fight whichever encounter they fight, paying attention to how many rounds it takes.
However many rounds it takes? That's how many other encounters lie between the PCs and their objective. Also, that is the modifier to the roll you are about to make on the Battle Encounter Table. Roll d4, add the modifier, consult the table, that's the next unit that slams into the PCs. (Something like the fireball will only take one round to resolve, thank god, so the fight afterward will be easy if it's survived.)
Fight out that next encounter. However many rounds that takes is the modifier to the next roll (note that, unlike the first encounter, the length of this encounter does not add to the total number of encounters, it just helps determine their hardness.)
Repeat Step Five until they PCs have plowed through the requisite number of encounters, are dead, or change objectives. If they change objectives, go back to Step 3.
Now there are lots of ways to make this more complex if you want but the skeleton here is a nice way to keep it light while still simulating some interesting things about battles: the faster you cut through the initial resistance the better the whole thing goes, the speed with which you get past enemies is almost as important as whether you defeat them at all, the more time you spend mucking around the more likely the enemy is going to be able to reorient and send its big guns after you.
This is also the kind of mechanic you can just go ahead and explain to the players: "The longer each fight takes the tougher the rest of it will be".
Option: give the PCs a choice of choosing the enemy rolled or any tougher one. Choosing the tougher one subtracts from the number of total encounters.
Obviously you can jigger the numbers if battles typically take longer in whatever system you're using.