Any way to permanently translate themes?

In wordpress a translation is part of the code. If you change translations you should track the .po files in “git” as if it was any other kind of code.

An alternative option is to override the textdomain used for translation and use another one that uses another .mo file located at some “safe” location. But this is just a band-aid over the “translation is code” problem as theme will change text strings from time to time and your self made translation will just not work properly.