To get around this there is a popular tool called youtube-dl. It downloads youtube videos. You can install it through your package manager, but if you are using a distro that has older packages, you may want to install it with pip.
Now youtube-dl by itself is great, but it's not really the same video searching experience. Personally I use a program called youtube-viewer. This program allows you to search YouTube videos and even 'subscribe' to a channel. There is a GUI version available as well.
To know when a streamer goes live I have found that using RSS has been the most reliable. That way you can get notified when they go live and then have a vod to watch if you missed it. Just put this as the rss feed:
https://twitchrss.appspot.com/vod/[STREAMER NAME HERE]
Please do not set the refresh interval too low or you might max out the site's bandwidth. Set it to something like 15 minutes.
Watching a stream live, you can use the popular tool streamlink if you would like. However, I personally just use youtube-dl. It's a little bit of a process but once you know what the available resolutions are, you can just skip to the last step.
To get the resolutions:
youtube-dl -F https://twitch.tv/STREAMNAME
To get the stream url with the specified resolution:
youtube-dl -f 720p --get-url https://twitch.tv/STREAMNAME
If you don't care about resolutions, you can just remove "-f RESOLUTION" as youtube-dl will then pick the best available resolution.
However we're not quite done yet! We only got the URL. Now we need to actually play the stream. You can do this with most media players, but I will use mpv as an example.
mpv $(youtube-dl -f 720p --get-url https://twitch.tv/STREAMNAME)
Now the stream should be playing! Typing all that out is tiring so I made a script I called bvod and it will play and unmute just about any Twitch stream you throw at it. By default it is set to try 720p but if that doesn't work you can give it a stream link and a another resolution like this:
bvod https://twitch.tv/STREAMNAME source
Missed a stream and it's still live? No need to wait! Watch the VOD now!
With my script twitchbroad you can view a streamers latest VODs including what they are currently streaming!
Last, but not least, you may want to see who is streaming a certain game. With my script twitchdir you can do just that. However game directories are very specific. So you might have to look up what the name of the directory by searching "twitch NAME OF GAME" in your favorite search engine. For example, twitchdir works like this:
twitchdir Team Fortress 2
This will return a list of streamers currently playing that game and whatever their stream description is. All you have to do is take their username on the left and use that in a link.