I think the money allocated for a child's present for Christmas or birthday is, in a sense, their money. If they are old enough to make a choice, you could ask them if they would like a present or to make a donation, as you might an adult. If they are young, I would normally say buy a present.
I think you can make your own decision about how much of your money you can afford to give, or decide to give, to charity. There is no shortage of good causes. I tend to go with a brain tumour charity run by volunteers and a variety of others. I do not give at my door and prefer not to give in the street but, sometimes, I do.