Para esse script simples, usar aspas duplas em vez de single preencherá as variáveis do shell pai.
É claro que, se o seu script contiver strings ou outras expressões que não devem ser interpoladas pelo shell pai no host em que você inicia este script, elas precisam ser evitadas ou neutralizadas. Mas você não parece ter nenhum desses aqui.
if ssh -o StrictHostKeyChecking=no -i $KEYPAIR_PATH $USER@$TARGET_HOST -yes "\
docker pull $DOCKER_IMAGE && \
docker stop $CONTAINER
docker rm $CONTAINER
docker run -d --name=$CONTAINER $DOCKER_IMAGE"; then
echo "success"
Talvez também procure usar um documento aqui (assim você pode usar aspas simples e duplas no script incorporado) e talvez entender quando citar as coisas. Isso funcionará bem, desde que suas variáveis não contenham espaços em branco irregulares ou caracteres curinga, mas é estranho.