An additional problem in London is the shortage of land. There is hardly land available within Greater London for any kind of social housing, whether it be tents or caravans.
London should stop selling off the social housing it already has and make sure its stock is fit for purpose. It's not a question of money, because the London boroughs have some of the lowest council tax rates in the country.
As I mentioned before, the population of Greater London is not significantly higher than it was just after WW2. It's actually lower than it was in 1939. The reason is that it's already about as crowded as it can be.
Unless some kind of radical solutions are introduced, the government can't stop foreign investment and/or confiscate unoccupied property, although it could certainly introduce land value tax, which would discourage some people.
The only viable solutions are to build new towns within commutable distance of work and for the government/boroughs to be responsible for allocation.