Automatic tools aren't well suited to joining those meshes, because the surfaces are ill-aligned. But there are a couple of things you can do to improve the result.
Firstly, it would make things easier if, assuming they have a non-subdivided form, the adjacent loops have the same or similar vertex counts. That way you could use ctrl+j as before and then join the loops in edit mode. For loop operations like that I recommend the Loop Tools addon.
It also looks as though these are non-manifold meshes. If you want to use Boolean modifiers I find its best to make both parts manifold. If the manifold meshes overlap they can be joined by the Boolean modifier, but you'll likely get rather messy joints that will need sculpting afterwards.
Finally, you could try replicating rather than joining. Make the centre mesh unselectable and then use it as a visual guide to help you sculpt the larger mesh so that it matches to your satisfaction.