For example, BYU and BYU-Idaho provide affordable education for tens of thousands of students every year. Sure they're religious, but they serve as price competition to state schools in the area, keeping prices down across the state of Utah.
Secondly, the reason things are so expensive is because the federal government gives loans to everyone, driving up prices. Why would public colleges ever cease their continuous tuition increases if the government gives unlimited loans to anyone, regardless of the price? The federal government should just give a set amount per year to states that the states can allocate among their universities, so that they can continue operating, and then get rid of government funded loans.
With the government funding the schools directly, they will have enough to set up lower cost programs and then be forced to compete for the lower amount of dollars provided by students, driving down prices.
Also, the federal government should put a condition on this money that if a college takes it, they have to charge the same for in state and out of state tuition, creating a more national, competitive market for students in order to bring prices down.
Maybe we'd see more schools go to a partial or full online model, which could really drive prices down. Honestly part of the federal money could be conditioned on creating online programs which are even cheaper for students.