No, because this formulation assumes we're starting with a fixed number of homeless people whose lives we're only making better. This is erroneous on two grounds: 1) it's not obvious that it makes their lives better in the long run, if it means they're less motivated to personally improve; 2) but second, and more important, the number of people who "need" these services is not fixed and policy can create more of them.
Tragedy of the commons comes from a lack of regulation. Put all the regulation you want, but make sure to guarantee your people live by a humane standard.
If San Francisco is handing out free homes to all who come, how would that not be a tragedy of the commons situation? “Everyone can come to SF to live by a humane standard” will never work.