Link mesh and create local object script

Is there a script that links a mesh(or multiple meshes) from other scene, and then makes local object and assigns mesh to it?
Right now there’s two ways to have configurable objects with linked mesh

  1. Link object from other scene, make it a proxy. But I had some issues while working like this, some bugs with scaling objects which are linked across multiple scenes in one blend, and then when you updating its mesh, and trying to edit scale of the object.
  2. Link mesh, then create something like a cube, and then change its mesh to just linked, and update its name (to match the linked mesh’s name. This way is more reliable, if you’d like to cross link these objects across scenes. But it takes to many steps.

I know I can implement such thing (way 2) as an extension to Link/Append script, but maybe someone have already solved this.

Thank you