Teach him, now, how to speak up.
Role play with him.
Teach him the exact phrases he can say.
Because the thing is, it takes time, to learn how to speak up. It is not instantaneous.
So if you start now, by the time he is in elementary school, he would have more practice and knowledge about it, per your teaching him.
For me, I began teaching my kids that from 2 years old. I just would tell them "if a person is rude to you, what can you do?"... then I would tell them phrases they can say and teach them about right/wrong and about manners and about how SOME people are very rude, but they need to stand up for themselves. Tell me, tell the teacher, tell the person STOP it. Or No. Or go away I don't like that. Or, that is rude, stop it.
I have a friend, who's son is quite small for his age. He is generally the smallest in his class, and he is now 8 years old and in 3rd grade. But he doesn't have any trouble with getting picked on or anything and he has many friends who treat him well, because he doesn't get bothered by his size, and he does speak up and he is pretty self-assured.
The best you can do, is to WITH him, role-play.
And teach him the words and phrases he can say.
You cannot have him avoid all situations... because that is not realistic. Many times situations occurs which CANNOT be predicted at all. And one does need to, learn social innuendo. Anyway.