That's what charities are for. They can discriminate against those they deem worthy and those who are self-destructive. The problem with government programs is that the PC police and special interest groups always pervert them so that a great deal of money is wasted on those for whom the program was originally not intended to help.
Charities that descriminate against those that are self-destructive are fine.
Charities that descriminate for no reason are not. THAT is a slippery slope.