People who don't use helmets for whatever reason would be more inclined to do so if they could just go pick one up, and didn't have to pay for them in a store. Even if those reasons are not that they are expensive. It's a great idea.
All the cities maintaining a bunch of locations full of helmets for free pickup would just create more waste. You can have a similar effect without any waste by just having a class that teaches children to ride bycicles at school and tells them the benefits of helmets and keeps helmets there for that one class. This memory would be with you for life, and you'd make your own decision.
If helmets were cost prohibitive I'd be with you, I believe in using tax money for that kind of stuff, but price is not the reason people don't use helmets.
People who don't use helmets don't do it because they are too expensive. They do it because it's not convenient to carry, because it's not cool, because it messes your hair, because you need somewhere to store it. (Not) Free helmets solve zero of these problems, it's just a bad idea.