The best way to improve mental health would be to reduce poverty. It's a bit of a chicken-and-egg question, perhaps. The stress of poverty causes a lot of mental health problems. The reverse is also true. You would argue that mental health causes people to go into poverty, but it works the other way as well.
At the same time, I would recognize that you do need some targeted programs for particular groups of people with challenges. Assisted housing and other programs would be very helpful.