I have the same problem, I rank better in India for prime keywords. Between early last year up until the time my google traffic started totally crashing (a couple of months ago or so). Traffic from the USA was was being replaced by Indian traffic (as a percentage), yet, my hosting is in the USA, my primary domain is a .com, all others (mostly .com's) are 301'ed to it I use WMT with a preferred setting as USA.
I suspect that there are many Indian SEO's with spammy sites linking to me. My backlink profile must consist largely of these links, The irony is that I often received many reciprocal links request from shoddy SEO's in India/Pakistan which I always ignored.
I have been thinking of blocking ip ranges from these regions for a some time. I know the results of my efforts can be easily circumvented and that this won't address the issue of the existing links adequately. However, it might help keep me out of sight to some extent and slow down the occurrences of new links.