What are the best cities to teach English in China?

Keep away from Beijing, Shanghai, Guangzhou and Shenzhen. Too many foreigners live in the areas. This saturates the market meaning that you'll end up with the dregs of the bad jobs on offer. Heading for a smaller, but not small, city means that you have less competition and so can acquire better quality positions.

For example, according to Shenzhen News, there were 19,000 foreigners registered living in Shenzhen during 2013. Shenzhen is a city of about 10 million people. My city has about 3.5 million people (a third of Shenzhen) and I count 20 foreigners living here. Lets repeat that, one-third the size but one thousandth of the competition!

I have friends living in 2nd tier cities such as Dalian. They get about 50% more in salary than me. However, their life costs significantly more. In addition, I get plenty of private tuition requests that pay well for my time, meaning that my actual income is about double what my Dalian friends survive on.

Which cities? Well, I can't speak for all the cities but I'd be looking at cities with the letter B or C in the car registration plates. Places that are less obviously attractive but still with large economies such as the Liaoning, Shandong, Hebei, etc. rather than Zhejiang, Beijing, Shanghai. You'll find more work and you will meet more with the local people and culture than you would in a bigger city.