It ruins the fan experience in many ways, but it's fair to the kids to be allowed to transfer without penalty given that they aren't getting paid.
Easy solution:
1. Everyone can profit from their NIL.
2. Create some sort of a trust fund for all players to share in after they turn 25 or something. If the NCAA doesn't want to let schools straight up cut checks, or let Kentucky pay kids $500K or $1M when mid majors can't pay them over $50K, this threads that needle. You could let kids earn credits that correlate to their share for minutes played or various milestones, or you could make it flat.
3. Create a salary structure where everyone gets paid a reasonable stipend. It could escalate with seniority or playing time, or it could be flat. Ideally it would give kids incentive to stay another year over playing in the G League. So it's not "get rich" money, but combined with 1&2 it should be quite fair.
4. In exchange, the 1-year sit out period applies again, with automatic waivers if a coach leaves for any reason. I'd also be willing to let anyone who has gone two years without playing over X minutes transfer without sitting out, as that seems fair to the kids and reasonable for the sport.