I am sure that I am in the minority in thinking here, but hear me out...I think part of what COULD make it better is going to straight 8 hour shifts and here is why.
Doing 12s you eat when you can anyway and dont usually or sometimes ever get a scheduled lunch, the same can be done on 8 hour shifts. 8 hour shifts also allow you to get home to your children and family at around the same time they would from their job or school hours (if you work days). I realize you will be working more days of the week, however EVERY day you would have enough time to get other stuff done, go to the gym, go to the store, spend the evening, (or morning) with your family. 12s literally leave no time in the day at all. I understand the benefit of getting those extra days off, but at the same time a good amount of nurses pick up extra hours anyway, so those that would want to do this still could. I understand why the hospitals do 12s, and I understand why some people like working them, but I think it would be interesting to see what a change to 8s would do.
This is one tiny part of the problem, the others could be solved by the obvious, more help which I think should also be obvious to the hospital management, yet it always comes down to one thing, money.