Regarding the stops at "Jade factories:" One of the reasons you pay that overprice to your hotel for a private car is so you don't have to put up with that nonsense, although if they just got you a CITS driver, they might have had less control. Still, why not complain to the hotel -- not to the concierge, but to the manager?
Next time, just demand to leave the shop, you are the customer.
This is endemic to all Chinese tours, unfortunately.
We also experienced a taxi driver not knowing what the Chinese characters naming the hotel meant. In fact, it was the hotel's "cheat card" and had a small map, which the driver couldn't read. In our case, he consulted with another taxi before turning on the meter, so we were treated honestly.
I had a similar experience in Bangkok; it isn't unique to China. Also in Tokyo and Manhattan. Just about the only place where it won't happen is with a London cabbie -- but you can still be taken for a ride!