You have some good advice above.
In my situation, my contract started February 1. I received my visa on January 31. When the time difference between my time zone in Canada and the time/date in China is considered, I got the visa two hours before my contract started.
I didn't book flights until I had the visa, and was able to get seats on reasonably priced tickets with EVA from YVR in Canada on Wednesday, February 1 at 21:00, arriving at CGO in China on Friday, February 3 at 11:20. I thought I was 'late'... but I wasn't - the second semester didn't start until Monday, February 6. Another 'newbie' foreign teacher didn't arrive until the following Wednesday and they just didn't give him any classes that first week (what with all the adminstrative crap to do, he started teaching the following Monday).
Dump the choice on your employer... and in future don't buy a ticket until you have the visa.