Not all governments are inefficient, and not all types of public housing are cheap. See Vienna. It can work.
Where I live (Montreal), a very common model is housing cooperatives. Funds help build or buy property, then gets converted to housing rental coop. It's not perfect since not everyone wants to manage a building, but it works fairly well overall.