Math is abstraction on top of abstraction. You start off with counting. Once you get counting down, you abstract it with addition (You've counted 5 things, and you want to add it to a group of 7 things) and subtraction (Count 5 things and take them away from a group of 7 things). Then you abstract addition with multiplication, and then abstract that with division. Once you've done that, you abstract all of arithmetic with algebra.
And, well, it goes from there. You need some abstraction of algebra to do trig, calculus, and geometry. And to be able to abstract it, you need to understand it. This is where the disconnect happens - you get kids who have "learned" everything up to calculus, but they don't actually understand what's going on. They just know the formulae and how to plug-and-chug.
How do you get these kids to understand? My dad would relentlessly quiz me on the concepts, and he was ruthless in making sure that I understood why the formula was used just as much as how it was used. Many kids just learn the latter, and when it comes to any sort of independent thought, they're fucked.
In any case, though, I think that the current curriculum is as good as it's going to get. You can teach these concepts in a horribly boring manner, or you can teach them in an engaging, interesting manner. Either way, you aren't going to learn calculus unless you understand algebra, and you aren't going to learn algebra unless you understand arithmetic.