You mentioned you would eventually prepare your System for easier switching to other networking solutions such as Fish Networking. Is this already in there?
I would take care of that maybe after, there I focus on Mirror
I try to make clean and easily debuggable code with the defines of ServerAuthority and LocalAuthority, which is not as simple as I thought...
At the same time it allows me to debug and optimize my code and that of Opsive, because being in a network causes errors in the Code of Opsive.
Then it will be necessary to add methods in the INetworkCharacter to sync elements that was only on the local player with the Addon PUN, because now they are found on the server only, such as the dry fire audio when the weapon no longer has ammunition for example.