One problem is their size. Nobody, let alone 25-30 staffers can supervise 2000+ 15-18 years olds.
No high school should have more than 500-600 kids. The only reason to pool that big is for the building of special projects like football stadiums. Sports would be just as competitive without the mega schools.
And also things like lab facilities for chemistry class.
One thing that would help would be to allow schools to kick out misbehaving teens at 16. Better yet would be to route teens who have little interest in academics into trade schools, where they could learn carpentry, barbering, or some other skill.