I know that pro athletes get endorsement deals that do not apply to their salary cap, but let's call NIL what it is - it is just "pay to play". When you have collectives and such it isn't about Under Armour signing an athlete to a shoe deal, it is about boosters paying players to play at the booster's school.
So, set a limit, make a cap on what can be given, or hire the players, or something else. But do something! I know we would then go back to players being paid "under the table", but at least it would be better than what we have now.