The only reasonable solution to the ratelimiting issue is to turn the 100/30 limit into a per-channel limit that does not account for slash commands like /timeout or /ban.
Even the smallest (!) bots that run in even a single channel, can run into issues. Thanks to very inconsistent and uncommunicated changes to the systems (slash commands used to be included in the limit, then not, then again and currently I believe they dont count), we are forced to always dynamically maintain a number of connections to prevent ourselves from being IP banned.
And experience has shown that whitelists have always been unreliable at best. Most of the time, they are maintained for a week or two and then forgotten about forever, potentially being removed without notice at any given point in time.