Automating lightmap UVs when merging meshes

The workflow I’m used to in blender results in my models generally being made up of multiple objects with separate UVs. This of course is an issue when importing into UE4 with merge meshes selected, because the engine just mushes all the UVs into one, which obviously results in overlaps and broken lightmaps. The way I’m getting around this is by creating a second UV for each object, then shrinking each UV into a separate part of the map, so that when they’re merged, there’s no overlaps. So for example, if I had 4 objects in my model, then I would scale down each to fit into a separate quadrant of the second UV.

My question is, surely there’s a better way to go about this? I can’t imagine that the answer is “always make your models a single gigantic mesh and uv unwrap the whole thing as such”. On the other hand, having to re-layout my UVs like this is pretty tedious. Is there any sort of tool that will automatically scale/move the existing UV layouts for me? Or do I have to look into writing a script for it?