In the end, I think the problem has to do with the last point. Students really need to consider why they are getting Ph D, and programs really need to look at why companies will rather higher an undergraduate than their PhD candidate.
Finally, it may be time to encourage some young people to forgo graduate education and enter the workforce. Some companies actually prefer to hire recent college graduates—or even undergraduates—because they believe that PhD students are not well-prepared for real-world jobs. Although this point of view is still somewhat rare, and having a graduate degree does open some doors, it might be wise to encourage students to consider their options before they jump into a PhD program with dreams of a tenured professorship.