Sure it does. WS is just a framing protocol on top of a regular TCP connection. Though it sounds like you're not talking about the protocol so much as the JavaScript API, which perhaps doesn't give you enough visibility into the underlying TCP socket state.
But a BBR-like algorithm could still work. Basically (massively oversimplified):
1) Determine the connection latency based on the fastest response you've seen.
2) Determine the connection throughput by tracking the highest throughput you've ever seen.
3) Set your window size to be a little bit more than latency * throughput.
This "should" saturate the connection with just a little bit of buffering. If it doesn't saturate the connection, then your measured throughput will go up until it does.
This way there is no need to ask the OS or browser to tell you how much is buffered...
Disclaimer: I have yet to actually implement something like this. Obviously, it gets tricky in the details.