It all depends, based on how you define best - is it more salary that you expect or good life style? If you are talking about more salary, then you should definitely work in one of the developed countries. If you are talking about good life style - it is France and UK that have the good life style, while US, you earn more and any kind of lifestyle is available - just like Mumbai - where anyone can survive.
It is a common understanding that, develpment is faster and cheaper in India, but the quality of code is very less in India. However, the cost of developing the code in UK and US is very high, in that the cost of living and hence the salaries are very high, and the second reason is that, they take more time in UK and US for the develpment life cycle, but in return they deliver code that is far better than that is developed in India. So, the main developement of software code happens in US and UK, especially France and Landon and the testing related work is oursourced to India. The testing inturn might involve in writing the test code, which is difficult to classify whether it falls under quality control or development. You can attribute the poor quality of code being developed in India to "chalta hai" nature of Indian citizens and less focus given to the developemnt process and the testing cycles. This is well understood by the top product companies, like, Google, Facebook, Microsoft, Cisco, Amazon etc.. and most of the services that they oursource are testing realted jobs. This does not not mean that everyone developing code in UK and US are great and the quality of code is good. There are few guys in US and UK, they don't even know the funamentals of computer science, but they survive because of vocabulary or the management skills.
(Kindly note that I did not talk about nationlity anywhere but the place of work)