Well this isn't good. Our integration server runs an npm install which includes a ton of dependencies that are github URLs. I guess tying our integration/deployment step to github isn't such a good idea after all.
I'd suggest a rule of thumb where a build ought to be able to complete without any resources that you don't control the uptime of. As the number of such resources increases, the amount of time the build can not actually be built will tend towards 100%. A git caching proxy would be great for that sort of thing. A generic DVCS proxy would be even better.