Primeiro, prefira usar wget -i - over xargs wget , porque a maneira xargs pode executar (seqüencialmente) vários comandos wget (se você tiver muito URL para recuperar) enquanto o wget -i - será executado somente um (e, portanto, se o servidor remoto suportar, use a mesma conexão TCP).
Escrever sua própria função rmEmpty é inútil, pois find . -empty -type f -delete fará o trabalho (melhor).
Para resumir:
BASE_URL="http://www.mtgsalvation.com/forums/creativity/artwork/340782-official-digital-rendering-thread?page=$i"
wget -q -O- "$BASE_URL" | \
sed -n '{/forum-post-body-content/,/p-comment-notes/p}' | \
grep -Po 'src="\K[^"]+' | wget -i - -q -T 6 -t 1
find . -maxdepth 1 -empty -type f -delete
Eu adicionei o -maxdepth 1 para evitar problemas se você executar esse script em um diretório com muitos subdiretórios ( $HOME , por exemplo). Você deve executar esse script em um diretório dedicado (vazio antes de executar o script).