As someone who runs a GED program in San Francisco, I tend to think that the only real way to work against all these obstacles our students face is to rethink the educational model. The idea of one teacher at the front of the room talking, for my money, is not going to do it. SMall groups-- 3-to 1 student to instructor ratio max. I think that this kind of fundamental shift in the way we think of education--basically, we need a private school set-up for a public school environment--then we will start getting at the problem.
If I were emperor for a day, I would start a teacher's corps. I would bring students in from different disciplines, not education students, in to local public school systems, and I would have them be supervised by the main teacher. In military terms, it's like a squad of student-teachers going in and doing some real work each class session.
In exchange, students would have some kind of debt forgiveness. OR, that kind of giving, would be part of the grade of the class. I am trying to implement this model, as much as I can, with my program. God help me.