The main problem with the UK system is that it means that if you were underpaid before you're likely to continue to be underpaid in your next role (if you accept a low salary again). For that reason when I'm hiring I've stopped asking for someone's previous salary, and just ask them what they want instead. If it's in the right ballpark everyone's happy. If they lowball themselves I ask why and usually get "That's x% more than I'm on now.", which leads to a conversation about how they're underpaid and should be asking for more. If they ask for too much then I just don't hire them because I can't afford them.
There's a new law coming in where companies have to disclose salary bands now, which at least means people will understand the bottom end. That's going to make the salary negotiation part of hiring a lot easier.
Why don't you post what you're paying in the job ad/offer? Some people even skip ads without a salary or a salary range because of all the uncertainty. As a potential employee somewhere, you've obviously already calculated a range or a fixed number - so why ask the employee?
How is this even legal?