What we need is an independent body that can set maximum fees based on course. That way, people can be steered towards the type of education that the government need them to have (for the benefit of society).
The system would have to be tiered, so that an appropriate balance of culture, art, science, commerce, etc. can be maintained.
So every course would be classified by this body, then for whichever classifications they want more people doing, education establishments are forced to keep the first X places with lower fees. So, for example, maybe ALL "Medical" degrees would be fee-free, but only 100 places nationwide would be fee-free on "Dance" or "Latin" degrees, with establishments free to charge higher rates for further placements.