That's way of managining salary has been discussed by man smart sports/business people. Keep the salary cap in its present form with the luxury tax, salary apron and repeter penalties but get rid of max contracts. Lebron would have been making upwards of ~60m/season in his prime but it would leave a team with very little money to build a team. The salary cap is the only reason that teams can have 2 or 3 top 20 players. There's no reason that Andrew Wiggins should be making 90% of what KD is making, its insane. The salary cap depressed the wages of top players.
The issue is that the lower tier NBA players who make up the majority of the NBPA would never go for it. Why would a mid-tier player want to screw up his money like that? Also, salary restricts and contract lengths protects GMs from themselves. If there was no salary cap, GMs would make panic moves and screw up their team for the next decades. Look at what happened in 2016 when the cap went up, teams didn't know what to do with themselves