Improve RR Battle management.
Have the server run the main rumble against robots like it does now, with the following addition.
First give option of running a random battles a lower chance (say 20% to 40% area).
After it has gotten the most critical robots stabilized (current behavior).
Find the pairing that has the lowest number of battles run, and run that. If there is a tie, run the robot that has the lowest number of battles. If there is a tie of that, just use the first one that comes up in the query (less server work then random).
That way even old robots with tons of battles are still considered for more battles and it helps overall stabilization.
The optimal criteria for prioritizing battles depends on the ranking system, although aiming for equal number of battles per pairing works well for most systems. Old robots with tons of battles are still considered whenever a new competitor enters the rumble.
Old robots don´t really need more battles on old pairings except with incremental Elo rating system. Incremental Elo works better with random pairings (equal frequency instead of equal quantity).
Not old battles on old pairings. But rather battles on low number of battles for a pairing. Even if a robot has hundreds of thousands of battles. Those battles were selected randomly before, meaning there may be pairings that only have 2 or 3 battles (possibly, I cannot name any, but it is within the realm of possibility). Which is why I stated select those pairings that have low number of battles, regardless of number of battles the given robot has.
That's how the current system already works: it seeks out pairings with low battle counts, regardless of either bot's total battle count. The tie-breaking you've proposed is unecessary, although perhaps the random % could be reduced. Try finding a pairing with less than 7 battles now; before the change it was common for ancient bots to have some 2- or 3-battle pairings, now they're extinct.