I doubt the idea of letting colleges bear some cost for students who do not earn enough with their degree will help much. Necessarily it would have to be limited to students who actually get a degree, and there are plenty of stories of folks with piles of student debt who didn't finish. Also, that immediately puts in place a perverse incentive for colleges to make finishing much more difficult. While that might not be a bad thing educationally, it would certainly be a bad thing for graduation rates and an awful lot of 18-22 year olds are slinking by, not rising to the challenge. Which is a big part of contributing to the problem in the first place.
We currently have a system where the cost (or at least a significant part of it) is slightly visible to the consumer (student) through loans and tuition and that does not seem to have sparked much rational buying behavior. There is a little bit, but not a lot. I think a big part of this is because 18-22 year olds are barely adult. This will be among their first big adult decisions for many of them (possibly predating their first big adult decisions for many of them) and they lack the experience and context to make such a decision wisely. I know I certainly did.
Trying to think of ways to improve this system and the unfortunate confluence of young adulthood, beginning independence, educational needs, institutional issues with education, finances, loans, and disparities in wealth and ability is hugely complex. I think it is much more likely that a new element (my money is on massively parallel distributed education) comes along to disrupt the whole thing than we suddenly realize a few missing links and fix the current system, which has a lot more flaws than just high student debt loads.