Let's say it's based on score/battle points, not damage done to Heroes.
For example:
Game begins.
After 2 minutes, we assign the first 3 heroes on either side. The top 3 players on both teams with the most battle points get to become heroes.
I imagine this being more like a pop-up during gameplay, rather than from the spawn menu, similar to original SWBF2.
The chosen players get to play those heroes for 2 minutes, then they are despawned. The 6 player who played heroes are now reset in battle points and have to go to the back of the queue.
After another minute, we assign the next 3 heroes for either side, based on whoever has the most battle points at the time. Then they play for 2 minutes. And that continues for the rest of the game.
In such a system, we still reward players who collect the most battle points in that they likely get to play heroes more often, but we still try to cycle through everyone through the course of a gam...