As ion_theory said, the problem has to be approached by teaching them how to learn and think throughout the grade levels. (Btw, Common Core, if implemented correctly, should do this, but it is likely to be corrupted by the textbook industry.)
It is not uncommon to have students that have taken calculus in high school to place back not in precalculus, but in algebra when they start college - so they just placed back at least a year behind than what they expected. Putting in a math requirement that most students can't satisfy just waters down the whole curriculum and has a ripple effect. As a math professor at a university for 25+ years, I would rather start with a student having had no calculus, than many of these students that have "seen" it, but got it all wrong, or just learned some buzzwords, or how to manipulate without meaning.
If you want to fix math education, start with supporting high school teachers better. Start with requiring math teachers in high school to at least have a degree in math. Work on child poverty, and make it so students don't have to work 2 or 3 jobs to get through college or go knee deep into debt so they can focus on learning. AND stand up against "efficient" education that takes away classroom interaction.