I run my bots in a fairly constrained and controlled environment (minimal software configuration, constrained permissions and network traffic) and I am running into problems like pywikibot trying to guess the version number.
I have proposed a Gerrit change to override User-Agent. Apparently pywikibot-core has a config.user_agent_format feature but it does not prevent auto-discovery of the bot version.
Overriding User-Agent is not enough since there may be more features checking the version, one of them is writeToCommandLogFile() (see also T98106: writeToCommandLogFile() should be optional).
When git is not available, it tries to fetch the irrelevant changelog, as I usually have some local patches/commits in the code. (Fetching also fails with T98104: Strict SSL certificate checking).
This feature is just not robust enough in my experience.