Living in a predominantly rural state, there is definitely a shortage of teachers in certain subjects. I teach first year chemistry at the college-level and most of our students are in-state and they are not prepared for college-level chemistry even for some who had an "AP" course.
For small towns, it is hard to justify the expense of multiple science teachers in different disciiplines when there is not enough student population to support it. Many teachers in rural high schools in chemistry are teaching with emergency certification. While it doesn't mean that they aren't qualified or that they aren't good teachers, it does suggest that there are significant shortages of teachers in certain subjects.
There is not a general teacher shortage. What there is is a shortage of teachers in some geographical areas and some subject matters. In general, rural and inner-city areas have a hard time attracting teachers. In terms of subject matter, the sciences, math, and special education are the areas in which there are shortages.
As for what can be done about this, it is very difficult to know. Many people do not want to live in rural areas and it is hard to know if higher pay would lure them. There are also special challenges faced by teachers in both rural and inner-city areas (lack of resources, students who may not be as prepared as those in middle and upper class suburbs) that make those jobs less attractive. For science and math teachers, the issue is that they can generally make more money and be more socially respected in other jobs. It is hard to believe that it would be possible (politically and economically) to raise salaries enough to make up for these facts.