The main thing that needs to change is having long-term contracts.
Is there a prohibition against these? It seems like a no-brainer. At a minimum you tie up the NIL money to a 2-3 year commitment and they have to pay it back if they transfer early or don't hit certain performance metrics, etc. etc.
What's the advantage to the player in the scenario you describe?
Guaranteed cash for multiple years, with the ability to renegotiate if you perform above expectations--same as coaches.
how is it guaranteed cash if you have to pay it back if you don't hit certain performance metrics?
It's not that hard to use your imagination here. You can structure the contract however you want, and I'm sure it would end up looking similar to a professional coach or player contract. You earn some lower amount of guaranteed money, with a bunch of added performance based incentives.
The "pay it back" would largely come into play either on transferring or failing to adhere to code of conduct, whatever. You could also advance some of the incentives with the possibility of taking the balance off of other guaranteed money or deals if they failed to hit the requirement.
The details are all besides the point, though, because contracts are pretty much whatever both sides will agree to. My point is it's a no-brainer in any business model to try to lock up talent with long-term money incentives, so I'm curious whether it is technically illegal or whether major programs just haven't figured out how to do it yet.