I sort of feel that the right way to pay for higher education should be to set up some sort of income-based payback system, where some percentage of the income a student makes over the income a high-school graduate makes would be given to the school.
The government's role would likely be to collect and distribute the income, but the actual financing would be set up between colleges and banks, both of which would have a vested interest in student success.