The system as currently constituted does not incentivize rational and pragmatic decision making on part of the students. Part of it will have to come from a change in the undergrad model: make people choose/apply a major or a broad area of study and allow for a certain amount of wiggle room. This way, for many undergrad will possibly be shortened and focussed or more vocational for others. We also need to find some way to force educational institutions to put skin in the game-- they currently get all their money without offering any guarantees on employability.
Presently, as a recent college grad, I saw far too many people on debt pursuing degrees unlikely to result in immediate or high paying employment -- eg., Any humanities field ending in "-studies". These people likely will not be in a position to pay the full value of their debt back anytime soon, nor will their degree hold any value (beyond sentimental) if they don't choose to go to grad school. Moreover, by giving them the same interest rates, we are implicitly penalizing/shifting burden on STEM students who essentially subsidize their credit/risk calculus.