Hmmm. How did the scratch happen? Was he trying to hold the puppy? I would think if the puppy was on the ground it would be rather unlikely for him to get scratched on his face.. so maybe, only let him play with puppies when they are on the ground, or some other rule that might limit his odds of another scratch.
Puppies are really squirmy and playful, and if someone is trying to hold them (rather than having them on the ground on a leash or loose in an enclosed area) they can REALLY squirm to get down. I could easily see an accidental scratch happening in a scenario like that. To me, generally speaking, dogs/puppies are not meant to be held. And unless they are a very small breed, I don't really think they like it either. We have a German Shepherd, and the only time I remember picking her up and holding her was when we first brought her home and were house training her (she was very small, like 10-12 weeks old). If she started to "go", we'd scoop her up really fast to get her outside. But even at that age, before we'd go too many steps, she was struggling to get down. They just aren't MADE for holding.
I'm probably WAY off, but if that IS how your son ended up getting a scratch, just make it a rule that he can only pet/play/touch them when they are on the ground. Then, if they don't want the attention or whatever, they can move away, rather than put their feet out...? And hopefully, he won't get any more scratches. The most important thing you can do regarding dogs, is teach your child the "rules". He is really young to learn and remember them, but you can remind him each time he encounters a dog...
Things like: Do not stare at their eyes (is perceived as aggression/challenge by the dog); always ask permission from the owner before giving attention to the dog (this is just good courtesy to ask permission to handle someone's things, but also, not all dogs are properly socialized and are safe- but your son doesn't need to be told the last part right now.. just 'good manners'); never reach up OVER the dogs head to pet him on top of the head (normal thing people do!), but instead, have your hand turned palm up to rub them under the chin/neck area (this is much less threatening to the dog and they like it much better); always wait until the dog is calm before showing it attention/affection (this is a dog training tool that reinforces being calm rather than rewarding overexcitement, but also cuts down on accident scratches from overexcitement).
Sorry your little guy got scratched, but glad it is small and will heal quickly. A little neosporin on the part above his lip once a day for a couple of days will probably help that along (but not on his actual lip where he might lick it off). Sorry too, about the incident you had as a child and the stitches. I've never been injured by a dog, but it would be a very frightening thing. If you take care to teach your son proper "dog etiquette", it can help him avoid anything happening in the future. I believe that 90% (this is not a statistic, just MY opinion) of child injuries by dogs could be avoided if the child involved had used proper dog etiquette. Kids are naturally drawn to animals and want to play with them. If they are not taught HOW to do so safely, bad things can happen quickly.
hth