Maybe better to hold back in 5th grade before earning a reputation, see saga of NC twins above, then to double up 8th grade. For the other players, league integrity and fairness probably best to hold back at 8th grade. Physical difference between 9th and 8th less pronounced then between 7th and 6th I would bet. So if we are going to have grade based play, I would say best to holdback a player repeating 8th grade. Maybe younger then 8th grade you should play on the Sept 1st grade you would be normally assigned.
Aged based on Sept 1st cutoff would solve all problems with junior year high school being repeatable, for those who holdback. Most kids would play on age and grade except for their junior year in high school when there would be a few holdbacks coming onto teams.