I don't think it's a matter of pouring money into the problem, unless the money is being spent to hire more teachers and create smaller classes.
I recently graduated from high school and am now attending a liberal arts university, and I can say with absolute conviction that the classes I learned the most from, both in high school and college, were discussion based courses. Yes, America needs more comprehensive math and science classes, but we can't neglect the need for a broad-based liberal arts education that begins at a young age.
Imagine, rather than feed kids facts about a subject, we invite them to discuss it and come to their own conclusions. We don't read them Shakespeare and tell them what it means, we train them from a young age to interpret the work on their own and to discover their own interpretation. This method could work in maths and sciences as well, as long as kids are given a thorough grounding in the ideas of logic. We could create a generation of free-thinkers, a group that was taught as children to question anything they were told, to look for new solutions, individual, solutions to problems. The possiblities would be endless. Think of the Greeks, who simply by studying logic and philosophy discovered all the information they needed to build a steam engine.