I gave up on this point and rather auto start "pulseaudio --start".
To be clear, s6opts was the very first implementation of s6 on any distro :). So, some behaviour are not good like you said. All this behaviour (and much more) will be change on the next generation of API for the implementation of s6 and s6-rc services called 66. I'm currently finalizing the first version of those new tools but i need a few time more to work on it to be ready.
Anyway, you need to create a new db for a user like this
$ s6opts add newdb your_service_name
this will add the service your_service_name on a fresh database source called newdb. Now compile a new compiled db with the source as it
$ s6opts compile Newdb newdb
this will compile and create a compiled database named Newdb with the contain of newdb.
Now you can switch on it , this will make your Newdb as the currrent database, so any futher new use of s6opts will be applied on this db
$ s6opts switch Newdb
Note : you can make this stuff more quickly, you can join the compile and switch command like this
$ s6opts all Newdb newdb
this command will compile Newdb with newdb AND switch on it directly.
PS: If you use zsh do not forget the use of completion... :)