In the case of those who do not have the capability, charities work fine.
But what about the greedy? The jealous? The vain? The indolent? Those who do not possess moral fiber?
What about them? Why can't they just be ignored?
Some people are simply worthless human beings, and no social order or legal order can change that. There will always be dregs in any society... as you say, that's human nature. If they commit a crime, they can be punished for it. If not, let them act as they will. If someone is greedy, others will be less likely to deal with them. If someone is vain, others will be less interested in socializing with them. To each the result of his own actions. That's fair, consistent, and workable.
No moral fiber?
Eat rye bread