I think I have a solution which ought to keep everyone satisfied.
If money were no object, the *best* solution to the problem would be to ensure that all dispensing equipment provides a perfect 284 or 568ml. of beer (hand pumps have been working exactly this way for years, before someone had the bright idea to use compressed gas to force beer from the barrel instead of drawing it). But this is impractical, as it will require a large outlay. The next best solution would be the use of oversized glasses with a visible mark indicating a perfect pint and some "headroom" above the liquid. Even this will require every existing "pint to brim" glass to be replaced, which will not be a cheap process.
However, assuming all the glasses in any one pub are geometrically identical, it would be a -very- simple procedure to inscribe a line at the 500ml. point on a "pint to brim" glass using something like a carpenter's marking gauge, but fitted with a diamond or tungsten carbide stylus. Adding the line would take only a few seconds per glass, and can even be done as the glasses are being washed.
The extra 68ml. of space in the glass would then serve as a 13.6% oversize, so the glass would be "full" with just 88% liquid -- which fits in nicely with CAMRA's own estimates of pints typically being around 5% short.
Of course, one would expect a consequent reduction in the price of a "new", 500ml. "pint" (we could keep the name as a slang term). Pubs would have to display "before and after" conversion charts showing accurate price comparisons between 568 and 500ml. measures, so drinkers could reassure themselves that the price per millilitre of beer was unchanged. Pubs already using automated dispensing equipment to dispense exactly 284 or 568ml. of beer would have to be allowed to continue to do so; but these aren't the ones serving short measures anyway.
While the necessary changes in the law were going through, we could also outlaw the practice of charging more for two half-pints (which would now be quarter-litres) than one full pint (or half-litre).