That's pretty good. I'd go further and make all college sports semi-professional. Make them pay their own way.
1) Make athletes hire lawyers/agents to negotiate contracts that have a limit to the number of games that the athlete has to play. 13 (12 regular season and a bowl) for football to start . . . more for a 16 team playoff . . . 40 for basketball, plus all the other stuff you mention.
2) Have tuition included as part of the player's compensation package. Make it taxable. Put the package and player on par with all other students. Get colleges and universities out of athletics. Let them focus on education.
3) Let the free market determine the player's value. Put in contracts penalties (liquidated damages) for the player's early out/not playing in a bowl. Bowls couldn't rely on cheap labor for their profit. They'd have to pay for the privilege.
4) I don't think you'd need salary caps. The markets (NFL, NBA, MLB and MLS (the bane of
@Univee2's existence)) would limit things pretty readily.
5) Let the semi-professional teams take on the cost of stadiums and arenas. They can lease what's there.