Path 1: Keeping the Age Limit (actually, increasing it), and Actually Paying The Kids
Moral justification: It happens anyways, and everybody, from the coaches, the schools, to the AD's to the trainers are making money off these kids.
Plan: Create a separate league (d1-Elite, whatevs) for the programs that want to opt to do this, and have the programs have up to 10 salaried players (beyond scholarships) per season, with a maximum salary of 125k, and maximum player salary of 25k. Every dollar that they pay the players has to get matched by the school in designated charitable donations or something.
Since most of the big teams do this kind of thing already (likely with more money), the current D1 landscape will be kept largely intact.
Teams that opt not to pay its players can join the league as well.
Teams that opt not to join the league will have their own tournament.
Players found knowingly violating rules will be banned for life.
Coaches found to allow infractions on their squads will be suspended for a minimum of 2 years, with the same non-contract rules that agents/NBA GM's have.
Schools found to have more than 2 infractions in 3 years will be banned 1 year per infraction.
Path 2: Preserving The Integrity of 'Student Athletes'
Kill the age requirement, and drastically increase punishment for rule infractions.