try these videos:
https://www.youtube.com/watch?v=6L3gxMC5AqY
https://www.youtube.com/watch?v=lcM7wBlvA4c
They won't solve your problem but they will highlight the fact that there's no answer to your problem because it hasn't been created. I believe it will require some scripting and creativity to get what you are after.
I was looking for an answer to this for hours. The best I could come up with is to do join functions and then clean up the results. Boolean functions will not work because the faces being exactly in the same location will cause rounding errors.
Edit: oh, someone made a script: How to combine multiple cubes with double faces?
Edit: Oh, Blender 2.81 will have a voxel re-mesher? https://www.youtube.com/watch?v=qEnRAgvIsf8