I wouldn't give them anything. I see the same bums year after year on the subway. And the way I see it, they seem to make anywhere from $0.50 to $1 for every subway car they enter and their gimmick takes about 5 minutes. Even if I assume they are making the lower end of the spectrum, they still make away with more than minimum wage. Meanwhile, I worked as "maintenance" (read: janitor) when I was 15 at the local YMCA for a summer for minimum wage. If I assume they make more, they'll make more than most honest-living lower class people.
And I'd rather dump my food in the trash. Any food I give them will mean they can squander their remaining cash on booze. And I've seen bums throw away pennies and reject perfectly good food. A Snapple truck driver tried to give a bum a bottle of Snapple from the back of his truck that as missing the label. The bum looked at him disgustedly, so the driver just threw it in the trash. Seriously, beggars can't be choosers.
If I were to give money, I'd give it to the bums who perform. Sing, play an instrument, etc. That way, I'm paying for a service that I enjoyed (if I enjoyed it) and I feel they are "earning" their keep. Of course, I still wouldn't give them a penny.