The key to assimilation is not having too many immigrants from any one foreign nation/culture coming in at any one time. Otherwise, they tend to aggregate into ethnic ghetto enclaves that prevent not only the immigrants themselves but their children and grandchildren from assimilating. This is why much of the US southwest is now basically Mexico in everything but name.
In contrast, if an immigrant and hisimmediate family are the only people of his nationality and language in a town, he'll either assimilate very fast or basically starve to death.
True, but that's an ideal level of managed immigration we've rarely achieved in this country. To this day, there are ethnic enclaves in many of our major cities, that began as immigrant ghettos.
Let us not forget that much of the non-assimilation of those foreigners was due to enforced segregation and discrimination by the dominant culture.
That's not as much of an issue today. We've matured as a people, and now welcome those who want to be Americans.