I've always thought that outright indoor smoking bans are a gross in-balance of non-smoker's rights vs. smokers and property owner's rights.
I think imposing mandatory licensing (with fees) of indoor smoking establishments that ensure proper ventilation for the protection of employees and other tenants is the reasonable solution. It can protect smokers and property owners rights while also also protecting the rights on non-smokers, employees and tenants.
In the case of feeding the homeless, I think the ability to give charity is an important right. I think it is more important than the right to have an attractive city center that encorages tourism.
However, the relative importance of these rights isn't important. The available solutions are important. If there is a solution that protects the rights of both parties, it is the proper solution to use.
This is why these cities should be using incentives and support to encourage feeding the homeless in proper locations (near support infrastructure and away from valuable retail or tourist destinations).
We should always choose to encourage proper behavior as opposed to banning improper behavior whenever possible.