One option that I would love to see implemented is an automatic self-adjustment system.
I am going to use, as an example, a game from the MOBA genre because that is structured in a way that makes it fairly simple to see exactly how each hero compares to other heroes.
Basically, for each hero, all the stats for that item should depend on a handicap value, that the server automatically changes depending on the win rate for that hero. Then, whenever a new game starts, it uses the most recent handicap value for the duration of the game.
attackSpeed = 50 + 5*heroType.adjustment;
moveSpeed = 100 + 5*heroType.adjustment;
Then, at the end of each game, the server modifies value for each hero by a small amount depending on if that hero won or lost, by how much they won, etc:
for(Hero hero: game.winners)
for(Hero hero: game.losers)
The exact adjustment formula could be something like this, although more complex statistics stuff might be better:
nerf: adjustment[heroType] -= 1 / globalNumberOfGamesPerWeek
buff: adjustment[heroType] += 1 / globalNumberOfGamesPerWeek
This way, if a certain new hero is added that is considerably overpowered, i.e. having that hero significantly increases a player's chance of winning, then the game server will automatically correct it over time.
In fact, this system will also correct for other reasons that a particular hero might become overpowered, like someone finding a new meta that actually works really well, or some terrain modification that gives a particular hero some new advantage. And the correction would be able to take place even as knowledge of the new tactic is still only spreading.
A third thing this can help with is actually discovering the fact that something is seriously affecting a hero. If heroes are designed so that the adjustment value stays near zero, then when the value for one of the heroes changes significantly, the developers will know that there was some problem with the hero, so that they can go over and do some more intelligent balancing to the hero in question.