Why not just try to inject a little tech and software thinking into the economics, marketing, sales-oriented, and management classes taught both undergraduate and graduate.
And why not teach code, as a way of learning to learn, in middle and high schools?
Regarding education at the high school and middle school level, I never had required programming courses, but we did have a Pascal course in middle school, and in high school we were offered (and I took) C++ computer programming courses at the Honors and AP level. This was at a public school, and I don't see why that can't happen at more schools.
I think introducing some type of programming into the college level for ALL majors would be valuable. I don't know if you need to inject that directly into the curriculum, maybe a series of "Development For Dummies" clubs taught/marketed by young CS and Engineering students could help bridge the gap. Maybe in exchange those students could run clubs that might open CS/Engineering students to more than analytical thinking as well.
Maybe having teachers that teach single classes on a volunteer basis?
College is not job training, it is a place where you learn how to learn stuff. The reason people believe otherwise is because college is really expensive, so it has to be viewed as an investment that will get you a job and deliver appropriate training.
Learning how to learn is important, it lets you move forward in whatever you take on. College as it is, is not a trade school, which seems to be what employers are expecting.
A degree in engineering or CS will churn out someone who has a strong analytical mind and the ability to learn more. Places that are hiring may need to adjust and accept that this is what the market is at the entry level, instead of complaining that the skills are not available at the price that they're offering. Companies might be better off offering less and expecting less (at the start, you might not get someone who can start churning on your application immediately) and growing talent in the process.
Also I've started seeing a lot of companies acting like the work they're doing is on the level of Google, when it's not and interviewing like they are and that's what they need.
Basically, it seems like a lot of employers have expectations that are way off the mark.