There's a way to make everyone happy and for clubs to make even more money.
Just run 2 concurrent leagues.
League A will be Jan 1st to July 1st
League B will be July 1st to Dec 31st
If players want to play with kids in their grade in school either they'll be forced to (July 1st to Dec 31st) or they'll have the option to play up with their grade (Jan 1st to July 1st)
This solves RAE, lets kids play with their grade in school, and creates more teams for kids to play on. Which means more $$$ for clubs.
Why have an A and B team when you can have two A teams.