I think hero stacking adds a fun layer to the game mode, but even if it got removed tomorrow, you’d still end up with some team comps that annihilate others, some that are perfectly chosen for the map they’re on, some where everyone gets one of their mains against a team full of people flailing on their worst heroes, a bunch of shields vs. weak shieldbreak, etc. etc.
There’s no way to make Mystery Heroes “fair,” because part of the fairness in Overwatch is the ability to meaningfully counterpick the enemy. Any time you don’t have control over your own comp, you run the risk of getting roflstomped by a team with better luck than you.
And it’s totally fine if that’s not your jam, but that means that no amount of changes to Mystery Hereos will make it your jam.