FWIW - stayed at Le Royal Meridien in Shanghai Sat 12th to Tue 15th - checked hotel exch rate on Mon aft USD1 = RMB6.15 - then walked directly to ICBC Bank 50mtrs away exch rate over counter within bank USD1 = RMB6.15.
ATM at ICBC also dispenses at 6.15. Of course everyone is free to do as they see fit - but IMHO if you want to exchange cash I would have no hesitation in changing at hotel provided it is part of a top tier chain - just save the time and effort of going outside with your passport to the bank - I would however be a bit wary of exchanging at lower starred Chinese owned hotels.