I think something like in baseball might work. You can go straight out of high school but if you go college then you stay 2 years. If they stay longer they would not be in the same position of the college baseball players in that they would not lose “Bargaining” power because the draft spots are pretty much slotted at a pay level anyway.
The NBA created this problem. I’m not sure there’s much the colleges can do to stop it unless the NBA is on board with it. About the only thing I can think of the NCAA could do is count scholarships against schools who lose a “one & done.” If a kid leaves after one or even two years, the NCAA could count him against the scholarship roster until he would have completed a junior year. That might discourage coaches from recruiting those kids who are almost certain to turn pro immediately. I doubt such a proposal would pass, but it’d return college athletics to a bit more of a traditional amateur format.
There should be no restrictions on the players. Scholarships are issued on a year to year basis. Therefore, any rule penalizing the college or the player for leaving after one year is a violation of the one year contract and is flat out wrong.
Rather than attend college, the players should earn money playing in the European league for a year or more until they get drafted by the NBA. They are not in college for an education, nor do they receive an education.