Just for clarification, IRC and API are not versioned together. They’re different systems and teams.
Polling the API is a common use pattern with Twitch. Most folks grab the list, cache it, grab again in 1 - 3 minutes (due to the caching mechanisms on the API), and then diff between the cache and the live values. This is the easiest way without reprocessing the entire list. You don’t need to poll per user every 3 seconds. The cache won’t be updated that quickly.