I have never done it from Hong Kong - so can't help you there, but every time I have asked at PVG they have put me on an earlier, except once. Award tickets, most restricted ticket - they really do not care.
Actually, one time I checked-in and the lady asked if I wanted to take an earlier flight - I said no as I wanted some time in the lounge. Once I got to the lounge, same lady calls my HK cell phone and says that my flight is delayed and would I like to take that earlier flight now? Of course, I said yes. Someone came and got me, took me to immigration (In China they have to know exactly which flight you left on so swapping without telling them would be illegal) and ran to the gate. Was the last person to board and was upgraded to J. When I arrived in HK - my original flight was so not delayed.
PEK is the same, but once I changed from KA to CX and they said they had to charge me the RMB600. I had another flight to get so I paid it.