O que quer que quebre seu nginx (sobrecarga, defeito de hardware) provavelmente também quebraria seu haproxy. Provavelmente funcionaria melhor para obter um IP adicional (usar como um alias na interface) para cada servidor e usá-lo como o IP (diretamente ou por meio de um nome de DNS) que você publica através de suas URLs de imagem. Construa um script que irá realocar o ip secundário para outro servidor em caso de problemas sérios. O diabo nos detalhes estará em assegurar que o IP seja seguramente tirado do outro servidor. Caso o script não consiga mais efetuar login no servidor com falha e desalocar o alias de IP, a melhor coisa a fazer é desativá-lo com segurança através do IPMI, se estiver disponível.
Como alternativa, você poderia instalar algo CGIish no quarto servidor que apenas redireciona para uma escolha aleatória de servidores disponíveis; controlar a lista de servidores para os quais ele pode redirecionar com um script de monitoramento periódico (você pode usar indevidamente nagios check_http para isso, por exemplo). Como uma extensão, esse script também pode aceitar uma lista de exclusão de outro arquivo - realmente útil se você precisar desativar um dos servidores para manutenção.
Além disso, a sugestão de usar um CDN não é tão equivocada ... se você tem tráfego de arquivo estático que satura uma linha de 100MBit, você está falando de tráfego nos terabytes para dezenas de terabytes por mês, dependendo dos padrões de uso. .