Seemingly random decoding errors
Skl files have to be unicode or it wouldn't sometimes work correctly.


That's a really vague statement. I'm pretty convinced they are binary files, which may or may not contain some unicode-encoded strings. But you definitely need to open them as binary files:

file = open(filepath, "rb")


You may then decode binary strings:

binary_object.decode("utf-8")


Reading the file in binary mode will prevent decoding errors caused by non-strings (which can be a simple '\x89' of a binary integer.