To me, eligibility should be limited to actual citizenship. Either you play where you were born/have original citizenship, or the citizenship of a direct living relative (ie: Parent, Grandparent).
Situations like Amauri, Jonathan De Guzman, Roger Guerreiro or Alessandro dos Santos should not be allowed. Just because you play in a foreign league shouldn't mean should be able to play for that country, even if you acquire their citizenship.
Situations like Balotelli and Mavuba make total sense, and really shouldn't be scrutinized.
Situations like Hargreaves, Adu and Rossi are regrettable, but definitely acceptable. Eiher they have blood ties to their new NT, or they had citizenship before they entered the football world.