Hey Mike
Not a Mattermost developer here, but one that has integrated the APIs to another application. I probably didn't have the needs that you have (about the limits per second) but trust me, the APIs is the way to go.
You don't have to use React or Go to use the APIs. Use your programming of choice (in my case that was c#) to make the HTTP requests with the proper method and the proper end point. Once you have it working, it will work every single time.
Because in c# I can use classes, I created classes resembling the objects mattermosts returns in the API. Then it was as simple as using NewtownSoft.Json parser to turn the output into my objects.
For the authentication, there's no other way around it It's not that complicated once you put it in some function that you can quickly call at the beginning of your session or when the session expires (to renew the token. Actually I have never experienced a session expiration with the token, so not sure if that's a thing)
In my case I didn't create users, but I did create webhooks and slash commands as well as other elements, and again, once you have it in a function, there should be no problem for your app to use as many times as needed.