I think this is a pretty good approach to the problem. It certainly applies to service fields in which there are pay ceilings. We already have some attempts at making this happen. For example, teachers and people in service-oriented fields can get about $5000 of federal loans forgiven if you work in a low-income or hard-to-staff position for 5 consecutive years. STEM teachers can get about $17000 forgiven.
But these are token measures right now. I have a colleague who has roughly 100,000 in loans. If you think this is unreasonable, keep in mind that in many states you need a master's degree to keep teaching. There is a 10-year forgiveness program, where if you pay off your loans at an income-adjusted rate for 10 years, the rest of your loan is forgiven. But, you pay income tax on the amount that is forgiven. So we have people paying appropriate income-based amounts, which don't cover interest. Then you get a taxed on a "windfall" of 100,000+. So now you have a 20-40,000 IRS bill, which doesn't qualify for any forgiveness programs. One arm of the government giveth, another arm taketh.
So I think the answer does lie in scaling college costs according to expected incomes, with appropriate measures in place to guard against gaming that system. It seems to come down to a question of whether we, as a society, actually value these service-oriented fields. Many of our elected politicians don't appear to, because they can afford to pay privately for these services (education, counseling, health care, etc.).