Haproxy 1.8's socket transfer mechanism would provide seamless reload, basically both haproxy-a/b would share the socket file.
exec haproxy -f /usr/local/etc/haproxy/haproxy.cfg -sf $(s6-svstat /var/run/s6/services/haproxy-b | egrep -o "pid \d+" | egrep -o "\d+") -x /var/run/haproxy.sock