OS is Raspbian 9.1 (stretch).
I've had massive troubles getting this to work in a reliable fashion, therefore I've removed almost all automatic detection or non-vitally-necessary parts.
This is quite hardcoded to a Raspberry setup.
See the attached pulse-config-tar.bz2 file, but here's the most important one "default.pa":
(since pulseaudio daemon in my setup is run as user - not in system mode)
#!/usr/bin/pulseaudio -nF
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
# This startup script is used only if PulseAudio is started per-user
# (i.e. not in system mode)
# Failsafe stuff:
load-module module-default-device-restore
load-module module-rescue-streams
load-module module-always-sink
load-module module-intended-roles
load-module module-suspend-on-idle
load-module module-alsa-card device_id=0 sink_name=alsahw0 rate=44100
load-module module-alsa-sink device=default
load-module module-alsa-sink tsched=0
load-module module-native-protocol-unix
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;10.0.0.0/24 auth-anonymous=1
load-module module-zeroconf-publish