You just need to do one of the following
1. Make the max really freaking high. Say 50% of the cap.
2. Create a "designated player rule" where each team is allowed to offer double the standard max outside of the salary cap to one player and one player only.
Option 1 makes it harder for superstars to move at all. Option 2 makes it basically impossible for you to have more than one.
No point in making the max that high. Just remove max contracts all together. If you remove the max, teams will end up well into luxury tax if they try to give everyone market value contracts.
Owners would not agree to that because it opens them up to the possibility of giving a single player the entire cap and then being screwed over due to injury. They want some sort of protection in place.
The players association would 100% not agree because that would leave basically no money left over for most of their members.