The bad thing about this "battle" is the kids are getting screwed. It always ends up being about money. Personally I'm for any competition to the public school system, because without it we get the current situation that we're in. I don't think public schools should be abolished, but they should clean up their act. Charter Schools are not perfect, but they're producing results. You can say they're choosing the "best" students. At such a young age, the "best" students probably are the ones that parents are actively involved with.
Unions say the rich just like Charter schools so they can funnel money and look good to the press. Well what about the teacher union boss's that sit on high salaries and don't want to change anything? Am I supposed to be FOR unions just because the boss only makes 10x more than I do, but not 100x more like a hedge fund guy? I'm just concerned with results.
The next set of school/programs that should be offered is skills training. I personally think a computer programming initiative would be great. You already have these new schools popping up in SF/NYC/CHI where you can become an entry-level programmer in 12 weeks. Why not start it early so kids have real world skills by the time they graduate HS?