I don't understand why there are player maximums? If a team wants to spend 40 million a year to bring in someone like KD, why can't they? It would cause players to actually decide whether they want to get paid or take a serious pay cut to play with other stars. In all honestly it is those top 10 players who are making their teams the money, so they should be rewarded for it. Seems like an easy fix to counter all these super teams.
Either that or get rid of 10 teams in the league, so each team gets better. If your team is in the bottom 4 for more than a few years, the team gets moved to a different city. That way teams will not tank and the level of competition will hopefully go up. In no other sport can you virtually guarantee the final 2-4 teams before the first game of season.