There’s no accurate way to do that, certainly not every minute because the time it takes for you to make a request, wait for a response, use the cursor for the next request, and repeat until completion takes a certain amount of time, there’s no avoiding that. Because of that even if you make a lightweight app that instantly sends a request with the cursor each time it gets a new one it’ll take around 2 to 5 minutes depending on time of day to go through all Helix Get Streams results.
Because the time to page through all results is greater (by a significant margin) than the cache lifetime, it means after the first 5 to 10% of results the streams will be in the <100 viewer range, where an increase/decrease of a single viewer can move a stream up/down potentially dozens of pages in the results. Also as you get further into the results the chances of one of the streams you’ve gone past going offline, or a new stream going live that instantly has more viewers than the point in the results you’re at, will shift all results a lot.
This is something I’ve brought up a lot to some of the Twitch devs, as I myself have done Twitch analytics for ~5 years now, and Helix does hamper some things, but that is by Twitch’s design. Plus it’s worth remembering that the main use case for needing to page through all streams is analytics or research, which the Twitch Developer Agreement requires you to get permission from Twitch to do and enter into a separate agreement, so it’s not like many devs have permission to be collecting mass data anyway.