I use following system in my current RPG set in late Third Succerssion War. This is the current system for simple lance vs lance or company versus company fights (my players play officers in Mech unit).
Assume Lance of PXH, Centururion, Urban Mech and Locust. Leader is Veteran.
Step 1) Divide Mechs to Lances with 2 to 6 in each.
Step 2) Give Combat statistic to each lance:
0 for each light mech, 1 for each medium mech, 2 for each heavy mech and 3 for each assault mech.
Add Leader's Skill to each lance (0 to 8 with 1 for Green, 2 for Regular, 3 for Veteran, 4 for Elite and anything beyond for Legendary leaders).
Combat: 1+1+0+0 = 2 with Veteran Leader bonus of 3 for a total rating as 2+3 = 5.
Step 3) Give each Mech in Lance a defensive rating:
This is Armor/Structure of BattleForce 2.
PXH is 7.
Locust is 3.
etc...
Step 4) Give each lance a Leadership rating.
Leadership rating is Leader's Skill (0 to 8 with 1 for Green, 2 for Regular, 3 for Veteran, 4 for Elite and anything beyond for Legendary leaders).
The combat assumes that each side fights with Lances.
1) Numerically weaker side pairs all of its lances at numerically stronger side lances.
2) Numerically stronger side pairs remaining lances as one sees fit.
Fighting turn:
Numerically weaker sides makes attacks first. Both sides roll Combat + 2D6. If attacker rolls more the damage is added to defender's mechs, otherwise nothing happens. Numerically stronger sides then does the similar attack.
Additional rules:
A.1) Leaders can affect firefight by making successful Leadership rolls against target number (typically 12) set by GM. If roll succeeds the leader can add her lance's Combat with one other lance's Combat for next turn. This affects rolls made in attacking and defending.
A.2) One side may decide to retreat. Then both sides of pairing roll following: Movement of slowest Mech in Lance + Combat + 2D6. Each Jumping Mech gives +1 to roll. If pursuer is successful the combat continues otherwise the fleeing force has managed to flee the battlefield.