We're lucky enough to have 2 weeks in China. We know that this won't nearly be enough to explore much of the country, so we've decided to keep it to the following:
Beijing (including trip to Wall & Terracotta Army)
The Terracotta Warriors are in Xi'an, a lovely city that has a ton to offer. But 1000km from Beijing, Hangzhou, Shanghai or HongKong
Shanghai
Hangzhou
Hong Kong
How many days per town would you recommend and should we add/remove anything?
I would take out Shanghai and by extension Hangzhou. Plenty of more interesting parts of China.
But as you currently have it
Beijing 5 days
Xi'an 2 days
Shanghai 1.5 days
Hangzhou 1.5 days
Hong Kong 2-3 days
1-2 days to add Pingyao, Luoyang, Huangshan, or Suzhou to taste. They are all on the way if you are doing Beijing-Xi'an-Shanghai. Nanjing is also wonderful if you are planning are near Shanghai. You only have time for 1 though.
We're leaning towards trains versus flights but also open to recommendations.
I would still fly Shanghai/Suzhou to Shenzhen/Hong Kong. It's a long way without too much scenery. Flights to Shenzhen are usually really cheap.