If you're serious about competitive balance
Let star players earn way more. That's the solution. The Lakers are routinely used as the example of a team that outspends rivals. If Kobe Bryant and Shaquille ONeal in their primes could both have earned their worth, not even the mighty Lakers would have been able to afford them both, and they would have made two teams really good instead of one team a three-time champion.
If the current Heat were allowed to pay Dwyane Wade $50 million a year, they would have started that years ago -- and theyd never have had the cap room to lure LeBron James and Chris Bosh.
Thats a system that would really do what matters to make the league more competitive. It moves the stars around, which is the only reliable way to move the wins around.
Theres no risk of total salaries going crazy -- both sides agree players will continue share a pool of league revenues, and both sides agree to salary caps and some kind of luxury tax.
But the league doesn't pursue this, of course, because owners like capping maximum salaries. (The union doesnt push on this issue either, because if stars earned more that would hurt their bread-and-butter, the NBAs middle class.)