Instance a rigged mesh
I have found that when I create a collection instance of a collection containing a single mesh linked to an armature and make instances real it creates a duplicate armature and a new object linked to the original mesh, allowing the mesh to be animated separatly from other copies while being updated together.
To clarify:
Add your armature and rig to a collection
Create a Collection Instance of that collection (Shift+a &gt; Collection Instance)
Make the instances real (Ctrl+a &gt; Make Instances Real)