I actually ran into this with my own group where I was caught between two "scopes:" too many combatants for every combatant to get a turn in the initiative, but for story reasons I needed the players to actually be in the midst of the combat taking actions as normal on a battlemap where each unit had its own token, which ruled out most mass combat systems.
What I ended up doing was similar to what would eventually be in Unearthed Arcana: When Armies Clash, but much simpler. I created what I called a "group." A group was a collection of NPCs/monsters that tended to operate together and had the same stat block. You can actually have melee and ranged fighters in the same group as long as they have the same attack and damage roll, but I prefer to break a mixed group up into an all-melee group and an all-ranged group.
The idea from then on is that whenever a character would make a single roll, the group makes a single roll. The group makes a single initiative roll and then the group acts on that round. Each member of the group moves up to its individual speed, and then the group as a whole makes a single attack roll. An attack against a group uses the same AC as the base stat block. So a group attacking a group is just a single attack roll against a single AC. Damage is a single damage roll multiplied by the amount of group members who are in position to attack (for example a group of 10 that has 8 who can make an attack and rolls 5 damage would deal 5*8=40 damage.) If the attack roll misses, apply damage the same but instead use the lowest possible damage roll instead of rolling it.
Instead of a damage pool, the group loses members. For every amount of damage = to the HP on the stat block, remove a group member from the board and thus from future attacks. Once all the "dead" group members have been removed just note the remainder until the next time the group takes damage: for example if a group that's based on a stat block with 12HP takes 40 damage remove 3 group members entirely (3*12=36) then apply the remaining 4 damage to reduce the groups "next death" HP to 8. The next time the group takes damage apply the first 8 damage points to remove the "wounded" group member and then apply as normal from there. When all the members are gone so is the group. You can roll dice to pick who dies but I usually just kill off whatever I think is appropriate. Healing is just the same thing backwards (heal the wounded guy back to normal, then the next point brings back a group member with 1 HP and then apply healing to get them back to full health, then the next point of healing gets another group member back and so on.)
Anyone not in a group just acts as normal. If a group's damage includes a non-group member, assign the damage roll multiplied by the number of group members who would reasonably be attacking that target, then apply the rest of the damage to the opposing group. A group taking damage from an AoE takes as much damage as the AoE damage roll multiplied by the number of group members affected, then apply that damage as normal. An attack that does enough damage to down multiple targets does so even the attack wouldn't normally.
The result is a system that works for the kind of battles I want when I run a scene like this: swingy battles of attrition where every single dice roll results in a loss of resources for one side or the other, where troops move in large and small formation and form visible battle lines, and but also one where I can adjudicate the action very rapidly with just my usual dice and a calculator. (You don't actually need the calculator, but it speeds up the game up immensely.) With a little practice (and the calculator) you can play out a whole battle in just slightly more time than a normal skirmish, if not sometimes less (it's easier to move 10 tokens and then make a single attack roll than it is to make 5 moves and 5 attack rolls.)
Mostly though, I use this system because my players love it. The battles feel like battles, there's not a lot of sitting around watching me do math even when it's a group attacking a group, and their character get to have a huge impact on the battle using their actual character abilities, especially the wizard and the fighter.
My only warning is to make sure that your decisions make sense in the context of the battle: it's trivially easy to down a PC by having every single member of one side target that PC, but what sense does that usually make? It works better if you spread the damage around more so it feels more like individuals are dealing with what's immediately in front of them and less like some over-arching hive mind is enforcing a strict kill order.
Hope it works or at least it gives you some ideas, and good luck.