The biggest science project we have going, the LHC, is impossible for the lay man to understand. "A big circle which smashes tiny things together? You're just watching it? I don't get it!". Compare that to the discovery of penicillin; "You're growing fungus under your fridge and it's going to cure my sick child? Take all my money!".
I work at a large national research institute, 50 % of our budget is financed through grants. Just last week we were told by my institute's director (and I'm rephrasing only slightly): "If you really want to help our finances, do something that makes it into the evening news. Then it's easy for politicians to send money our way, they love to finance things that appear on the evening news. Because that is their currency for the next election. But if we don't succeed at it, it will be even harder in the future."
I trust everyone knows this story - the funding rate has dropped dramatically in the last 15 years, and as a result the average age for an RO1 has gone up steadily (see [here](http://nexus.od.nih.gov/all/wp-content/uploads/2012/02/age-o...).
Just give scientists more money, and a lot of these problems will vanish. There will be more academic positions; there will be less competition for grants.
This is entirely a problem of money. I have a PhD and have somehow managed to shoehorn myself into academia without pursuing a tenure track. There is a tremendous scope for people like me. I could hire three people today and put them to serious full-time work on difficult projects that would make a substantial impact in my field (cancer research) - if I had the resources.
It's easy to fit people into non-tenure track positions in academia, there is no structural issue. The reason people go to industry is only because there is no room made for them on the public dole. If the public steps up and funds more science, this problem will abate.