You should always maintain the same UV scale on your meshes to avoid problems with different texture size. What I do is I’ve got all objects in one 3ds Max project and I apply “checker” texture to each object so I can test UV unwrapping.
In other hand you can create a Material which supports UV scaling and change it in your Instances. (it’s just a TextureCoordinate node multiplied by a scalar parameter) The problem with that approach is you would need to have several material instances to get all meshes in a proper scale.
Another solution is “World Aligned Texture” It means your texture is in a world (and not object) coordinate system so every object has the same texture size applied to surface. I use it for details like for dirt or dust layers.
I use 3ds Max for that with no 3rd party tools. There is auto-unwrap feature but it doesn’t work OK every time. I heard about “Unwrella”, but I haven’t tested this yet.
Hope that helps.