Back in and after WW2 we were still a manufacturing society, which didn't need highly educated workforces. That changed as we moved to a services-based country (and I'm not just talking financial). Many folks without a HS diploma can't improve their lives now the way folks could back in the 40s and 50s, even the 60s.
There is still a huge need for skilled labor in the US. The problem is the idea that everyone needs a college-degree-white-collar-job. You can't outsource plumbers, welders, construction, electrician, mechanic, etc. jobs. Those are all skilled jobs that don't require college education, but do require some training.
This is why we should have two sets of high schools: one for higher education and one for vocational training. Several years ago, I had college GE courses that had illiterate people in them. Like, not people that couldn't read well, but people who flat out couldn't read. Get rid of all of those people clogging up the universities and higher education costs will go down. Get them vocational training and they might actually find something useful to do with their lives.
Will it solve all of the problems? No. But it'll be a huge start.
Also, teachers should be paid based on performance. However, you can't base the performance by comparing the kids to other kids. You have to base the performance on improvement of the kid over the course of the year by comparing the kid to himself. This is how a lot of Charter school systems work in California and it works. Also, kids should be separated based on aptitude. Smart kids should be in class with other smart kids. Kids who are slower should be in class with other kids who are slower. While not completely terrible, our education system (at least in California) is a travesty.