Those majors are generally considered the most likely to land you a job. The reason they're not getting flooded with people is because they're hard. It's a lot more work to get an engineering or biology degree than most majors. Parents are usually all for it, since they don't have to do the work and get the benefit of a kid who can afford a place of his own.
So what's the real reward for all that hard work? If you're lucky, some incredibly cool technical work. I've gotten some of that, more than most of my colleagues I suspect. But most of it is drudgery (like my current job). It doesn't help that Dilbert is a documentary at least much as it is a comedy. Lots of engineers see their good work trashed by random changes, or are forced to do lousy work to keep their bosses happy.
If the leaders of the tech industry want to have more engineers coming out of American schools, the best advertisement they can have is a line of older engineers saying "I love my job" and "Dilbert doesn't work at my company." If they want to hire cheap engineers right of out of school so they can get rid of senior workers I don't want to help them. And I won't encourage kids to walk into the trap unless they like the work enough to accept the price.