Paul,
About 5 or more years ago we had a spate of unreliable/slow Monticello 
repositories and the solution back then was to specify more than one 
repository for packages/projects ... Metacello will cycle through the 
list of repositories if there are failures/timeouts involved ... but 
this means that you have to create a mirror repository ... and I would 
think that if you are going to mirror a SmalltalkHub repository, your 
best bet would be to mirror it as a filetree repo on github and then use 
your locally cloned version of the repo and then you will never have 
that problem again ...
You can create a local Monticello cache repository and then use 
`repositoryOverrides:` in your Metacello load expression, but this isn't 
an either/or propoosition ... when you use `repositoryOverrides:` you 
really need to cache all of the mcz files locally[1] ... this would 
include mcz files for dependent projects (if any) ...
Again, if you are going to go about caching or mirroring, I think that 
your best bet (these days) is to use github to mirror the entire repo ...
Dale
[1] 
https://joachimtuchel.wordpress.com/2011/07/21/pharo-how-to-load-a-metacello-configuration-into-an-offline-image/