Had a thought on paying players...
Add up the value of everything a scholarship athlete receives (room, tuition, meals, tutors, gear, books, etc..). Let's say it is $200k (I know this depends on the school but do an average or something) and then make a rule that every team has 1-2 spots on the roster to pay a player that amount. The player isn't required to go to class or do anything but play. If they do go to class they have to pay their own tuition and books and everything. They have to pay for their meals and rent, just like an NBA player would (outside of team meals).
For the other players on the team, you are locked into 3 years of school. Then, if a paid player doesn't end up being a 1 and done the school can nudge them out the door OR put them on scholarship. If they go on scholarship then they are effectively a freshman (because they didn't take classes), and they have to be at the school for at least 2 years (3-1=2). This type of player doesn't not have an extended eligibility period so if they are a bust and stay in school four years after not going to class for one then to complete their degree they have to pay for their last year and are not on the team anymore. This gets the top players paid, gets the guys who aren't able to go NBA to stay and be a part of the team for years, and levels the playing field by not allowing 5 top 10 players to go to one school unless they are going to stay in school.
Obviously there are flaws in this, but it could be an interesting starting point for some real ideas.