How get a better quality of streaming?
I think browsers usually don't have configurable buffer sizes for streaming.  If you can get the video URL out of the browser, you could stream with mpv or something.

mpv --cache-secs=15 http://example.org/video.mp4


mpv has several other cache-tuning options.

As far as using a VPN: your ISP still sees the traffic.  It just doesn't see that it's an HTTP request, and even deep packet inspection won't be able to tell that it's streaming video.  I think most ISPs, if they do any QoS-based traffic shaping, would prioritize streaming audio/video to prevent annoyances when realtime matters, unlike torrent downloads.  So putting your traffic inside a VPN would if anything make it worse, in most cases, I'd expect.