Similar cap rules to what we have now (exceptions, minimum contracts, Bord Rights, etc.), but no max contracts. A superstar like Lebron should be getting paid way more than a barely-max player like Al Horford, but the rules don't let that happen (and no, supermax contracts do not solve that). If OKC wanted to sign KD for something like $35 million, they should have been able to. Teams that manage the cap well and have lots of cap room, or draft/trade well to get the Bird Rights of superstars, should be rewarded by being able to offer them whatever they want. Luxury tax would still be a thing, so teams would still need to be careful, but there would be way fewer super teams if guys like Lebron and Durant had to give up legitimate amounts of money (like $10 million or $20 million a year instead of a few million over 4 years)
Of course, this will never happen, because it takes money directly from 90% of NBA players and gives it to superstars instead. A lesser version of this would be to keep maxes how they are and increase minimum/exception/rookie salaries significantly, making a team with a few maxes and then all traditionally cheap contracts more expensive, but that would just move money from the "middle class" of NBA players to the lower end, which is similarly unlikely to happen.
Dang it, now I'm stuck thinking about this
Maybe a somewhat significant penalty (think, say, $15 million/year) that teams have to pay (similar to luxury tax) on all max or near-max contracts? The money would be split among all other teams (like how luxury tax is paid to all non-tax paying teams), so a team with one max wouldn't be in bad shape (assuming that there are ~30 maxes or near-maxes out there at any one time)
And to determine when the penalty applies, make max contract offers similar to offer sheets in RFA: any team with space to do so can submit a max offer to any player, and doing so means that any team that signs the player will need to pay the penalty. However, the team making the offer can't withdraw it (or make cap moves to make them ineligible to sign the player - again similar the RFS), but instead must wait until the player signs to use the space. And to avoid a team with tons of cap space (like Phili or Brooklyn) using the rule to mess with good teams by offering maxes to random players, these max offers would be binding - if they wish, the player receiving the offer can sign it, and the team that offered it would owe both a max contract and the penalty.
Essentially, the idea is to make putting together multiple max (or max-talent) players harder on your team without actually changing the way money is distributed among players. There's a definite downside, though, where teams without any max players could make decent money by staying that way (possible giving incentive towards tanking)