The free market economy is a great idea. But one of the assumptions of a free market economy is that consumers have perfect information (or near perfect information) about companies so they can make rational decisions. Unfortunately, information isn't really perfect (although the Internet is helping a surprising amount) and there aren't nearly enough rational people out there for a free market economy to work properly. Wal-Mart-like stores would have a hard time time getting as big as they do in a 'working' free market because consumers would realize that giving all their support to one store could create a price-gouging monopoly (and monopolies only work in very specific cases), and they would be better able to judge price vs. quality tradeoffs properly (and Wal-Mart still lacks quality in a number of respects).
That's one of the many reasons we use a mixed economy where government actually gets involved. Government is supposed to protect consumers by promoting competition and keeping monopolies and oligopolies out of the economy. Of course, for varying reasons ranging from misinformation, to ignorance, to corruption, government doesn't do the best job it could and we wind up with dominating Wal-Marts.
On the education side, this is a very (Miltion) Friedman philosophy. And I agree with it, although I don't go so far as thinking all schools should be 'privatized' and we should pay them directly instead of with taxes.
I think that we should still pay taxes to the local school district (and to the local district only) with all parents paying the same amount per child attending school (which makes it much easier for parents to pay and the district to collect). The more children you have, the more you pay, obviously.
Each school in the district would then be given the same amount of money per enrolled child all from the 'tax revenue pool' the district collected. The more students a school has, the more money it gets. If parents don't like a school, the tak their kids and money out and move them to another school. This punishes schools that do not meet parental expectations, eventually causing bad, non-competing, schools to close. And when those students in the closed school have to go to other schools, those schools get the extra money to help support the increase in enrollment.
I see schools in this situation as being public in the sense that a company can be public. Just like companies have to report on how they're doing to their investors, schools would have to report how they are doing and what they are teaching to the parents. I'm not sure how cirriculums would be determined, but it would probably be some combination of what parents and various governments want (from local to state to federal). And just like public companies, 'public' schools would be subject to audits and other controls to keep the faculty/administration 'honest'.