I had two day Call Pilot outage when upgrading from 1.07 to 2.0 about four years ago. The technician doing the upgrade was not experienced with the upgrade (the one person who did go to class was back in KC 'cause he didn't want to drive the 2 hours out to the site.
Backup. Multiple times. Do a backup yourself - and store that tape away before the tech gets there. The vendor managed to do an incomplete backup prior to mine originally and for some reason my other backups could not be used (it was an in-place upgrade of a 200i system).
Have a plan for letting people know they'll have to grab phones. Also plan for redirecting Auto Attendants.
I just did a migration upgrade (2.02 to 5.0) on a new platform. Even with this we had issues with. Get ETAS involved right away. First issue was that we couldn't map a drive from the new server to the PC where we had the disk backup (faster to migrade than via tape) - problem was that a PEP broke it. Then found that the migration wizard would not complete with all latest PEPs installed. Had to re-image the new server, perform the migration, then install PEPs (per ETAS). Complained about the issue to the NT person responsible for CP at INNUA; never heard anything back from them, so did the second system that we upgraded the same way (upgrade, then PEPs) as we did the first and had no issues.
At least with a hardware migration we could reinsert the old platform in the switch and go back, if we had to "punt.