Finally sorted this. There were two issues. The first was that I was using a 9 speed hub and a 7 speed cassette, I had a 4.5mm spacer but the rear of the cassette had protruding rivets which were preventing the cassette from sitting squarely on the freehub. So I made 2 groves in the spacer to accommodate the rivets. Shifting was better but still not right.
Embarrassingly the final issue was spotted in about 30 seconds by my LBS. The original derailleur was missing part of the cable clamp and it turns out I'd been routing the cable over the top of the bolt instead of underneath. It would seem that this is enough to affect the pull ratio and now the cable is routed underneath it is shifting perfectly
So kudos to my LBS for spotting that and for not charging me. Some lessons learnt I think. I should should have spotted it, there's even a groove on the derailleur indicating where the cable should go
Embarrassingly the final issue was spotted in about 30 seconds by my LBS. The original derailleur was missing part of the cable clamp and it turns out I'd been routing the cable over the top of the bolt instead of underneath. It would seem that this is enough to affect the pull ratio and now the cable is routed underneath it is shifting perfectly
So kudos to my LBS for spotting that and for not charging me. Some lessons learnt I think. I should should have spotted it, there's even a groove on the derailleur indicating where the cable should go