Put autospawn=no into .pulse/client.conf.
This will cause Pulseaudio not to respawn.
Then simply kill it and start it again.
If that does not work, unload and load the modules before starting Pulseaudio again:
#!/bin/bash
perl -i.bak -ne '/autospawn/ or print' ~/.pulse/client.conf
echo autospawn=no >> ~/.pulse/client.conf
pulseaudio -k
modules="
snd_hda_intel
snd_hda_codec_hdmi
snd_hda_codec_analog
snd_hda_codec_generic
snd_hda_codec
snd_hda_core
snd_hwdep
snd_pcm
snd_seq_midi
snd_seq_midi_event
snd_rawmidi
snd_seq
snd_seq_device
snd_timer
snd
soundcore
"
sudo parallel --retries=10 modprobe -r ::: $modules
lsmod|grep snd
sudo parallel -j1 modprobe ::: $modules
pulseaudio --log-level=3