With the high dropout rate, having a tiered college cost would lessen the burden of those that do not continue and at the same time the universities should charge more for later classes which add more value to the graduate upon completion. I also think cost of courses should be structured to be valued base:100 level class=$100 per credit, 200 level class=$200 per credit, etc. but at the same time a credit hour cost should reflect the end market value so not all 100 level classes should cost the same. A university pays Professors differently (a business professor earns more than an intro math professor and a higher level business class could cost more than a higher level English class). This could bring total college costs in alignment with the income able to be earned with that designated degree and thus would be better support the ability the pay the debt incurred for that specific degree.
Not sure of the exact way, but no market place would have a one price system.