Make a single tile with an image scaled correctly in a 0 to 65535 range and a resolution that fits inside 1 tile.
stretch the x/y to fit the landscape overall size.
Set the Z to the magic number for 1:1 which is .0019 etc. * 65535 in order to get a resolution of 1px per meter in the z axis.
With that as the backing you have the master template to move the other tiles around visually and match the heights to where they should be.
make sure you use increments in 100 units (1m) so that the edges will eventually just match once at the correct spot.
As far as doing it mathematically. You could, but you have a variable z per tile, so you’d have to do the math one by one.
The problem with it is that the position of the landscape is not necessarily driven by the end point of the bounding box. * see note*
The visual aid tile is probably the best approach.
at least with maps less than around 112km^2
Consider that 8km stretched to 100km is a massive amount of visual distortion. Only really useful to line stuff up on the fly. Not even worth the load for a distant impostor…
note
what this means is that a landscape can go like this
/_-’-_
And your tile could be just the mountain
_/\
`````
at which point the bounding box may read a size that doesn't tell you anything at all because the second tile doesn't even need to be moved to match position.
KINDA forgot to mention.
Your seams across maps will never match unless you cut in 1px edge from the other normalized images all around. Think about that for a minute.
Now that you did.
If, 1 bit = 1cm in map A, and 1bit = 2cm in map B, how can you get a map that has no gap between A and B when the same bit value is used? Ya can't.
You'd have to set all the tiles to the same Z and have all the edges match with the same bit value - which is what is normally done.
Like you said, you can Manually, calculate things. scaling down the bit value from B to match A's at the edge. You can make a Python script to help a bit. But it's not an immediate task.