Its a hard question I've spent alot of time mulling about. The solutions are long term, specifically in investing in subsidized (not "affordable") housing like Civida/Right at Home/HomeEd. We don't have accurate numbers on the number of subsidized housing units but its been pretty much stagnant since we stopped building welfare rate housing to balance the budgets in 1993/94. The waitlists are now bordering on 30,000-40,000 families. We need investment with a capital B, not the piddly crap we have seen so far. I am pleased with the city's focus on pushing forward the supportive transitional housing throughout the city, that will make a dent in the most difficult cases. But it doesn't change the fact the system is spitting people out onto the streets faster than we can house them.
In the short term, ending the "intent to rent" requirement would be a first step in making it easier get people housed. We also need the rental portion of Alberta Works increased to something even remotely feasible, my suggestion is pegging it to a market measure of the bottom 10% of housing stock. That would make finding and securing a place atleast doable.
Edit: I would add we desperately need to do the work to get rid of the "Welfare Wall", the point around 20k a year where the loss in supports (Healthcare supports, childcare supports, housing supports) all fall off a cliff much faster than employment income can compensate for. Expand the eligibility of those supports so they last for a long time after people leave income support (especially because early employment after income support tends to be sporadic and tenuous) and redesign the good idea/bad execution of the Canada Worker's Benefit.