We all have a hero inside of us. We may suppress or embrace it, we may not know it's there, but in the end there's no denying it even the most villainous among us can do the right thing even if it's for the wrong reasons. The problem however is all too often we will ignore our impulse to help others for any number of reasons. That is why we must rejoice the precious few that will act selflessly to help someone else.
Furthermore we should not be so proud as to deny help when we really need it. That is by far one of the worst problems I've noticed when trying to help someone is how much they don't want me to help even though they clearly need it and secretly want it they won't let themselves admit that they can't do it on their own.
Be persistent and follow through when you help, don't let them push you away and simply give up on them. Be aggressively kind, I don't care if you have to chase down a homeless man for 2 miles to give him 20$ just do it. True story btw only it was like one mile or so, ended up running for nearly 20min chasing this guy, never had anybody run from me for so long, handed him the cash said you're welcome and walked away he probably spent the rest of his day trying to figure it out. By preference if you can offer someone a job that's a better offer, give them a place to stay and a small wage for being your personal assistant and put them to work.