For a solution, I favor the Canadian system, in which mortgage loans are recourse loans. That is, if the lender cannot recover the mortgage amount by selling the house, the lender can go after the borrower's other income and assets.
Recourse loans really change the incentives around foreclosures. As a borrower, you don't want drag out the foreclosure process, because while you do your unpaid interest keeps piling up, and you are now personally liable. So if, as a borrower, you know that you are not going to become current on the mortgage, your incentive becomes the same as the lender--get the property sold as quickly as possible. With recourse loans, you would not even see so many foreclosures. Instead, borrowers would sell the properties.
Another big advantage of recourse loans is that borrowers would no longer think that the name of the game is to buy the biggest house with the lowest down payment. So you would see fewer risky loans in the first place.