is it possible to change your chch-->akl flight to later? you have more than 12 hours to kill and it's going to be hard work with a 3 years old. Imagine when your son want to nap/toilet etc? If i were you i would probably buy a more expensive ticket from CHCH-->AKL, try to arrive at akl only 3-4 hours before your flight to china. That way there's less to stress about etc.
BTW, bring an ipad/tablet loaded with movies/games/songs etc. We don't usually allow our kids to play with ipad for long hour but it's a life saver on a long hour flight.