(MaxSpeed-CurSpeed)/acceleration = ATime
if(ATime<time) //for cases when a ship can accelerate to max speed before missile hits
velocity(vector) * ATime + acceleration(vector) * 0.5f *ATime + Norm.acceleration(vector) * MaxSpeed * (time- ATime)
else //for cases when it cant
velocity(vector) * time + acceleration(vector) * 0.5f *Time = LeadLoc
then for super pointless levels of accuracy, perform a recursive calculation:
(warning : using recursive calculations is expencive... and kinda pointless unless you want missiles to be ably to track weaving talons or somesuch)
Spoiler
norm.LeadLoc * TSpeed = R1
LeadTime(Tloc, R1, MLoc, MVel) * norm.LeadLoc = LeadLoc
LeadLoc + TLoc = intercept coordinates
unless the ship actively changes direction this does not need to chage at all
so you can use a check weather the ship changed its end directional vector, and only recalculate if it has