why focus so much on ethnicity though? it's not a competition between ethnic groups but between nationalities. and if in a nation many of the best players are not ethnically multigenerational locals then that's how it is. would be weird to tell them they can't play because of their origin.
and perhaps football players tend to be of migrant background because it is a big gamble to try a football career. it's people from low income groups who try, they don't have much to lose.
The issue is not so much ethnicity as whether the players actually feel like citizens of the country they represent. When you have a second generation immigrant from Africa, whose parents immigrated to say France with their native language and culture, and that they passed on their language, culture, traditions and even sometimes sense of belonging to their children, they may only be playing for the French team because they are physically in France and were born there, but not because they feel intrinsically French at heart. It's even worse if a famous player was naturalised just so that he could play for a particular country's team. Then that player, as Vallicanus put it, is just a mercenary.
Such mercenaries only play for money. This makes them less motivated in a World Cup setting, as they don't play for their country's honour/glory. In the European Championship, if they play for a particular city, they are more motivated to play well as they can get a better offer from another team. The World Cup is a one-time thing once every four years, and better players are not rewarded with higher salaries. That may be why teams with a lot of such mercenaries, like the Netherlands, did not perform well at the World Cup.
It would probably be better to set a minimum number of generations in a country for someone to be considered a native. I would say at least three generations unless one of the parents is already native.
However, there are two problems with that.
1. Does that mean that recent immigrants cannot play for any country or must they play for their parents' country of origin, even if they weren't born there and have never been there?
2. The rules must be harmonized for every countries. Imagine if France were to decide that players need to have at least three generations of ancestry in France to play for the French team, but Germany says that anybody can play for them, then all the best players who don't qualify for the French team will move to Germany (or somewhere else).