Try increasing the QueryTimeout value first. I have successfully used this to work around temporary outages in the past.
Depending on the length of the outages you are experiencing, you make need to increase this value quite significantly. Experiment a little until to find the right balance.