Rezoning alone is insufficient. For traditional (but interestingly not technical) reasons, the designs of commercial and residential buildings are very different and converting between them in already built structures is going to be very costly.
Sleeping in a room with no windows is preferable to sleeping in the street. Just change the codes to make the conversions inexpensive and quick-to-deploy.