As a Croatian immigrant to Australia, I have a really personal experience with this and honestly thing they best approach is not to pick on migrants, but to welcome them and to be supportive. I came to this country speaking Croatian, Serbian, German and a smattering of French, Italian, Dutch and Czech, but no English. And well, look at me now. I am Australian at heart and speak English. Why? Because people were kind and supportive to me.
Be supportive because making people feel welcome encourages integratoon. I went to high school feeling like the girl who didn't belong and people were so supportive to me and it really made me feel welcome. People in my classes taught me about Australia, what the flag symbolised, the words of the national anthem. They were happy to hear aobut Croatia and my life there and I think most of my class can say Hello, Goodbye, Thank you, and counting 1-10 in Hrvastki.
It is about not picking on immigrants and making them reclusive so they stick together, it is about being welcoming and friendly. It makes a world of difference you know. It made me feel Australian and in turn, improved my English because I was happier at school and had friends which made it easier. If people are willing to be friendly to us, you will be amazed how friendly we will be to you.
I still get the occasional grossly uninformed 'Don't you have someone to shoot?' or 'Gonna put Landmines in our park?' comments, but they are isolated. Supportiveness and a willingness to be accepting is always the best approach. Give people a reason to want to learn English instead of forcing it and implkying that immigrants ruin the country. You catch more bees with honey than vinegar or how the saying goes.
(Yeah, my English is not perfect, but I can communicate albiet a Croatian accent so it is all good)