The Get Streams endpoint supports 100 user_id or user_login per request, so even with thousands of channels it can still be checked quickly and for minimal rate limit usage.
Another option would be EventSub, where your server can subscribe to the stream.online and stream.offline topics to receive notifications for when those channels start/stop their stream.