Updating Large Number of Sites
There really isn't any right answer to this question. I do something similar to what tenken suggests; see:

https://github.com/greg-1-anderson/utiliscripts/blob/master/drupal-backup-all

The basic idea is, every time I back up a site, I also make a second local copy, and run pm-updatecode on it.  The backup and update sites are live (but accessible only on the internal network), so it's possible to look at either and see if they are running or not.

My experience in doing this is that the task of copying a site and running pm-updatecode is not the main bottleneck in upgrading sites promptly and frequently.  The main bottleneck is testing.  You have to set aside time to do this, or you won't be able to confidently deploy your sites.  Upgrades rarely, but sometimes do break your site, so you cannot really automate this last critical step.

One thing that can really help is good automated tests.  Behat and Selenium are really useful here.  See the small project below for a quick start template:

https://github.com/arithmetric/badcamp2014-behat-travisci