I think Pro athletes have negotiated for their salaries and working conditions under the CBA via the representation that they elect. Whatever they get paid is what they have agreed to and fought for. We've seen that they've had to Strike at times to get what they want. I have no issue with NBA salaries (really high) or NFL's non guaranteed salaries, because it's a mutual agreement.
NCAA football players can certainly strike if they believe they are being underpaid or not sign the scholarship which outlines their responsibilities to the school. The schools can then sign other players. I'm sure there are plenty of good players out there that are fine with "just" the free education. Especially in my mid-late 20s, I realized how lucky I was that I didn't have student loans and interest like many of my classmates.
I don't have a good answer for you on that one. I'm kind of for making a dollar if you can, as long as you are paying taxes on the income like everyone else. But I think corruption would certainly be more rampant than it already is if we made it "legal" for athletes to make money themselves off of their own likeness. I'm sure Bama, Clemson, Ohio State would certainly have boosters and fans paying more money to players for their jerseys or autograph as an incentive for playing for their school, rather than a fair market price for a signed jersey. Then it just becomes a bidding war for top recruits. Which I don't want to see in NCAA football.
Further, I believe the school is somewhat (mostly?) responsible for giving that athlete the platform to be able to eventually make money off his likeness, which many do after they are done playing.