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.