I think one great solution is housing coops. There is actually an organization that helps people start and maintain housing coops: http://coophousing.org/
Maybe, but the general acceptance process of needing to get approval by the existing neighbors seems to both be the pro & con that prevents more widespread availability of coops