...Realistically copilot is so good that it knows what the next word I'm completing is without even typing in a single character, so this doesn't bother me like it used to.
Unfortunately having similar issues. It is okayish, but sometimes I feel like there must be something smarter and more context aware too.
But I would kind of take the language servers into account here. Though, the specification provides no scoring mechanism. Only a preselect flag which nvim-cmp already supports.
At the same time this feels like a quite complicate topic. How to actually sort/compare them? In our special case above you would add something based on symbol usage/definition close to your cursor. Which might be a relevant factor.
It would be interesting if there some knowledge/science about what actually works best for such a problem.