First, getting absolutely all channels may be difficult and useless.
Think about what you will do with all the data related to all those channels with no viewers at all.
I limit myself to the top 1000 channels.
Now, the super secret trick is to just compare the list of channels you got from the Twitch API to the previous one every time, and ask for channels missing in the new result with one or two additional requests, using limit=100&channel= followed by a comma-separated list of up to 100 channel names.
It depends on the period you use to get all those data, but with this technic you can get the top 1000 channels from the Twitch API every minute while being far from reaching rate limits.