No, that's a rather terrible workaround. You shouldn't need to gather the entire list of users every 30 seconds. And I'm sure Twitch would not require that by design.

Now that you've posted your code I can see it has little to nothing to do with the new membership cap. It would have suffered the same problem in the past. When you join you need to start a timer for people already in the room.

If when you join a room the list of users on the nicklist is properly filled then you have access to that information, these normally come in on raw 353.

If you need to explain further please /debug @debug and paste all relevant information.