Please DO NOT give anything to the children that you meet in these third world countries. Yes, I understand you emphatized with these kids and I do too. No, I am not trying to be hard hearted by telling you not to give, nor am I being a selfish brat. Giving the children stuff is not right because all you are doing is to encourage the kids to beg and you encourage the kids into thinking that it is right to ask for stuff. It is not. And like you've pointed out, even if you can give it to one kid or two kids or 10 kids, there will always be someone who missed out. And what will happen when your back is turned? The kids get into a fight over the things that are given. I know everybody means well by wanting to give the kids pens or sweets, but please, dish out your good intentions the right way. If you want to give them pens or writing books, you can buy a bunch and bring it to school to ask the school to distribute out. You can always ask the local schools what exactly do the kids need and make an appropriate donation. The school will hand out the stuff to the kids appropriately. Never give sweets to kids and healthcare is poor in developing countries and poor children do not have the money to visit a dentist after eating too many sweets. If you really want to be dishing out the pens and books on your own, engage the kids in some activities and let them earn the rewards. You will be helping the children a lot more this way. If you want to help the kids in a more practical way, make a donation to the schools so that they can buy more table and chairs, build proper toilets etc. Bringing joy to the kids or making a difference to the kids is not all about giving out pens and exercise books. Spending a few hours with them, teaching them English, playing with them, giving them some company etc will also bring joy to the kids.
Yes, Indians love their photos to be taken. And no, not everyone expect a tip. In fact, out of 100 people I asked to take a photo of, maybe only 1 will ask me for money. One just have to learn to interact with the locals and you will get countless invites to take photos of them. It is not just in India. It is everywhere in the world. As long as you are interested in interacting with the locals, you are bound to get great photos of them. Treat them as mere subjects for your photographs, be expected to be asked for a tip.
Go with an open mind. India is a great place, be it in terms of culture, colors or people.