Here is printscreen of UI of plugin that is doing described solid union operation.
Plugin allows to select (fixed) solids that are not be transform and solids that will be transformed in order to achieve successful boolean union operation.
Two possible type of transformation are Move and Scale. Fore each transformation X-Y-Z-range can be set up with start and end of range/interval and number of steps inside interval. For example if X range is from -1 to +1 with 3 steps, then there are three values that X can have, 0,-1, and 1. The same is for other coordinates. Plugin iterates through all possible combinations of X-Y-Z until it finds one which succeed in boolean union and it iterates in one-by-one basis (one solid at a time try to union with already accumulated result). In case of attached printscreen you can see that just for Move transformation there will be total 33
3 = 27 possible combinations so whole process can take long time if there is many solids to be merged.
So that is basic principle how plugin works.
Code for this plugin is written not to be nice but to work so maybe some time in the future I will clean it up and post it.
Another way is, as some members suggested, to find some good mesh tool/plugin that is able to foolproof union meshes, so you would first convert your solids into meshes and then boolean union meshes.