Unfortunately false positives are a fact of life in any kind of automated assessment.
There are a few things you should consider here:
1) An assessment based on the results of a single tool is somewhat limited. If you are confident (and can provide technical details to back yourself up) that some of the results are false positives then you should report them as such and it should be up to whoever produced the assessment report to prove that you've overlooked something and the app is in-fact vulnerable to SQLi, etc.
2) It isn't entirely unrealistic to expect a clean report at some point. But that needs to be based on the understanding that false positives do happen (again you'll have to backup your position on those).
I'm working on the assumption that a human needs to critically evaluate each of the potential vulnerabilities
Absolutely. Further a human should also be critically evaluating the target, while automated scanners are great there are things they simply can not do.
but since this is just an algorithm, there will necessarily be false positives
Again, this is true of any automated tool.
The dev team does it's best to eliminate conditions that might result in false positives (to that end, any specific examples you can provide are greatly appreciated). However, in order to ensure we are not allowing false negatives things need to strike a balance in interpretation of results and tests performed.
Further ZAP does allow a critical human ;) to set the "Confidence" of results including setting them as "False Positive".
and there are some false positives (links on my pages to sites that
themselves have potentially fiddle-able parameters) that I just can't
fix
That doesn't make the result a false positive, that just makes it outside your scope. Perhaps your client should be leaning on their other service providers as well. (Unless you "own" the relationship with those 3rd parties.)
What you're seeing might be something like:
https://github.com/NESCent/FossilCalibrations/issues/33<shrug>
Without further specific details it's hard for us to interpret further.