Subsidies can't solve the problems of poor neighborhoods, but it could mitigate the negative consequences of poverty. Simply by subsidizing people will better their futures. Many argue that subsidies make people lazy and cause them to prefer to do nothing at all. However, nothing could be further from the truth. Subsidies free people from many of the problems of poverty and enable them to do more with their lives.
The government should help poor communities by propping up schools, infrastructure and the like so long as the community continually shows improvement over time. Funding can always be taken away at a later date should the investment go awry. Not every investment in a community comes to fruition--that's a given. If the program isn't working, simply pull the funding.