Well, the flight path to cruising and from cruising to target looks to be roughly parabolic, but you might be able to roughly approximate a linear ascent/descent for the vertical distances covered. As such, I ran some experiments.
I created a map with a "near" platform at y=200, and three "far" platforms almost 1000 blocks away at y=1,100,and 200
I conducted five tests with a breaching missile: from 200 to 200, 200 to 100, 200 to 1, 1 to 200 (reverse direction), and 100 to 200 (reverse direction again). The graphical results are at the link below (seen from overhead). They show the crater in red, and measurements from the intended targets. The lines have a dot every 5 blocks.
Predictably, the 200 to 200 launch was a bullseye. Apparently it has everything to do with your height difference and nothing else.
I compiled the raw data in a table (link below) and discovered that the distance that the missile lands from the target is about 0.3 times the difference in Y between the launcher and the target. Using some trigonometry, you can solve for the corrections in X and Z that will nail the target.
From this I was able to hack together a calculator in Excel. I enter my launcher X,Y,Z and target X,Y,Z and it spits out the corrected X and Z that I *should* use ... and live happily ever after.