You've given individual solutions to try to fix a systemic problem, which of course does not work. They are good ideas; they are also not enough, and don't even begin to address the issue at-scale.
What does is recognizing that the "be realistic" bluster is just that: a bluff, from people who hold real power in the status-quo, but who realize that that status-quo can be changed, if only the walls would fall and nature could take its course. The reality is that older generations have created a zero-sum situation, and the only way for the younger ones to thrive is for the older ones to give up some (many) of their advantages. The reality is that this happens when political and economic forces are finally incentivized to stop protecting them.
One last thing I feel the need to mention whenever it comes up:
At that time, there were many subprime mortgages floating around that should've never been written.
This is true, but not because they were written for people who were financially unfit to be homeowners. It's because these loans were written intentionally to fail, knowing that banks could steal the homes back in illegal foreclosure proceedings, knowing that the mortgages would be wrapped up in financial vehicles and sold off at profit, knowing that the government would backstop them when it all came crashing down. Given fair loans, most of these mortgage-seekers would have been able to keep up their payments - but that woukd have been less profitable for banks than what ended up happening. Instead, these financial institutions were able to siphon billions from the middle class, and buy up the remains of their failed rivals for pennies on the dollar. Which is despicable, of course. But to understand this, you have to reject the notion that we're living in a just world whose past mistakes can't be corrected. It isn't and they can be.