For the thoughts on why my wifi sucked.
In the end I think what was key was the suggestion that attentuation was not the problam in a house with effectively metal walls internally but resonant cavities...
The suggestion that lowering TX power would help made no sense in this context.
But thinking about WAP location did.
I think what was happening is that once there are multiple signal paths of similiar strength, the way wifi encodeds is actually the worst poissible way - using spread spectrum rather than single frequencies means that there will be multiple peaks and notches for various combinations of input signal. Despite carrier levels being reasonably high.
Siting the main WAP where the direct paths were shortest and not full of metal has transformed the reception on almost all the areas I use regularly.
And a dedicated WAP is on order for the next most important area.
The other thing that became apparent is that using the same SSID and password on multiple WAPS was absolutely a bad idea.
The linux client was completely unable to decide which one to adopt and was flapping like a big girls blouse between them.
The Pi Zero W which was unable to get a reliable signal is now only a meter or two away from the WAP and although there may be a metal wall between them, it has holes in it for mains sockets, and its not impossible to bounce around it.
Suffice to say with signals not travelling meters its getting 20dB more wifi and stabilising around the 40-70 Mbps mark.
I think the moral is that signal strength in a highly resonant RF environment is simply not enough. One needs the main path to be many dB above the multipaths. Adding antenna or changing signal strength per se won't actually help. What matters is the ratio of main path to alternative paths.
And to note that for wahetver reason at least the linux wifi system is not good at adapting to this scenario.