Bem, não encontrei uma solução real para o problema, mas uma solução alternativa.
- Remover a parte de
rc.local
- Salve o alsa-config no arquivo:
alsactl --file ~/.asound.state store
- Edite
/etc/init.d/shairport-sync
adicionando/usr/bin/sudo /usr/sbin/alsactl --file /home/[username]/.asound.state restore
apósdo_start() {
Agora, toda vez que shairport-sync
for iniciado, os volumes serão redefinidos e, uma vez iniciado, o boot será atingido. Ainda assim, não tenho explicação para esse comportamento estranho.