What's wrong with it is the athletes have had no say in it, and it only affects them. If you're going to cap earnings potential, then let them collectively bargain. I don't see a cap on coaches and administrators salaries, and those are ridiculously high as well.
Im not worried about the details of how its organized, as long as the players have a fair voice at the table. Show them the full value of their free education, and other benefits along with the actual revenue and expenses for their sports. Then negotiate a fair cap with them.