Does something like a Join Modifier exist? Lately I've been experimenting with procedural shapes, based on a very limited mesh. I found myself looking for a way to join two meshes using a modifier. The Boolean modifier doesn't do the trick. It just messes up the mesh in horrible ways.

Some way out (or hack) is to use the Start Cap and End Cap parameters on an Array modifier to join various meshes together. Given their joints are close to identical, this works great. When I set the Count to 1, uncheck both offsets and check Merge, it does what I want:



I can even build the end caps with modifiers (array, mirror, ...). That way, I can create meshes with very little source data, while having super complex end results that are editable and animateable with very little effort.

Now I am wondering if there is a better way to do this. Remember that I want to keep the original meshes editable and separate at all time. Is there a way to join/merge meshes using a modifier, other than my Array modifier hack?

UPDATE:

Using a Boolean modifier does not work because it's not really "aware" of the matching vertices. It just tries to merge two meshes together at whatever cost. Using the exact same meshes, the result is the following:



The Array modifier is much smarter in that respect. It tries to join the meshes at points where vertices are overlapping or in very close proximity to each other (Distance tolerance). It actually merges the vertices (removes doubles) so the end result is more or less the same as merging vertices of two separate meshes in edit mode. And that's what I am looking for.
This answer comes from a post by the asker on a different forum.
By using the Array modifier with the count set to $1$ (and, optionally, each Offset option disabled), you can use the Caps field to join up to two additional objects.
You may need to fiddle with their positions in order to achieve the ideal effect. If you want to merge overlapping vertices, make sure that Merge is also checked.