There are three main problems with the public school system.
The first problem is that, by necessity, it is one size fits all learning when, in fact, we all learn differently.
The second problem is all the emphasis is placed on passing tests and not on actually learning things.
The third problem is that it is not made clear enough why the students are learning what they're learning.
Though I don't think the public school system can be fixed and was, in truth, a wrongheaded idea from the start, below are my suggestions for improving things, at the high school level at least.
Math: Math should entirely consist of word problems. For me and probably for a lot of students, math was the chief subject where I shook my head and said, "Why are we going to need this in the real world?" Rewrite math textbooks so that they're entirely made up of word problems that show how the material is used in real life.
English: The only practical use of anything you get out of studying novels is when you and your friends are having a bull session and talking about books you've read. Studying novels in high school helps you to understand future books you read better, but the essay questions are only practical for students who want to study literature in university. Therefore, eliminate the written discussion questions and just talk about the chapter.
As far as grammar is concerned, take a cue from the colleges. They managed to teach in ten weeks what high school couldn't teach in two years.
As far as writing is concerned, have the students read articles from magazines or exerpts from books that have actually been on the New York Times or Maclean's bestseller list in the past three years, instead of trying to make the students sound like they're writing stuff 60 years ago.
History: Well, for a start schools could actually teach real history, you know, what actually happened.
Second, relate what happened in history to what has happened in more recent times and what is happening today. Indeed, those who don't learn from history are doomed to repeat it.
Geography: Instead of focusing so much on things like immegration and transportation systems, teach where stuff is in the world. Honestly, all these bucking people who think Central America is it's own continent.
Science: For cripes sake, stop teaching evolution. It is a fantasy that's full of holes. If you aren't going to teach creationism, then teach that the Earth was created by a giant potato.
Also, take a lesson from "Bill Nigh, The Science Guy" and make it easy for the students to understand what you're talking about. Additionally, as with everything, relate to how it aplies in real life.
Parenting: Teach different techniques involved in parenting, such as attachment parenting, co-sleeping, elimination communication, etc.
In addition, schools should have classes on the history of entertainment. A lot of kids think Louis Armstrong was the first guy to walk on the moon, not that we ever actually went to the moon.
Schools should also do what they used to do and teach classes on things like budgeting and other practical life skills.