So I dug into this some more and, oh boy. Turns out the "fix" in the thread title was very appropriate; there were two bugs here. One is that it would in fact just aim its facing at the center of the ship without target-leading in some circumstances, mostly during the approach (which also explains some torpedo inaccuracies; note how in the gif below the initial torpedo hits much more squarely). The other is that the math for figuring out the adjustment due to the relative speed of the target was partially wrong.
It still misses a few shots vs the Atlas - it looks to me like it's due to some spread from the ACG? Also included a fight vs a circle-strafing Hound to show how it does vs a faster/smaller target (if anything: better, because of the center-of-rotation thing).
https://imgur.com/a/Lozo2phThank you all for bringing this up, and for, ah, insisting that I'm looking at this wrong!
How easy would it be to add a target-offset to the .ship file to account for this sort of thing? I'm picturing something like this:
(If one wanted to do this, one could invert the existing center-of-rotation offset; I don't think there's a need for extra data. But: it'd be a fair bit of a pain!)