You are in the right direction with what you have been doing when he does pinch or hit. But what you might want to try is when he hits, put him in a place away from every one. Including you. No toys either. This is supposed to be a punishment so to speak and being able to play with toys during that time won't get the point across that it isn't nice to hit. If he goes back to the other kids, remove him again and put him back in his alone spot. When he does hit and you remove him, tell him why you are doing it too. As far as the pinching, pinch him back hard enough for him to know that it doesn't feel good. It may take one time, it might take several times of doing this but he will get the idea that it causes pain. I know we teach our kids not to hit that's why I didn't suggest to hit him say in his arm when he hits others, but that is completely up to you. And also, you can start teaching him words to express himself when he is upset or frustrated to help him use his words instead of being mean to others and don't forget to teach him how to say he's sorry after he has been mean to someone else.
I'm gearing up myself for these days cause my 10 month old, I have a feeling, is going to be a handful when he starts walking. I'm bracing myself now!!!
Good luck to you:)
S.