We feel the same way every time we see the numbers!
(It is actually just slightly less unfair than you're thinking. £300 is £250 plus £50 VAT, so it is £50 VAT that can be refunded, of which Global Blue is taking £15.50 and you get £34.50.)
As far as I know, this is the system and you have to live with it. Someone has to process the paperwork, the retailers don't want to do it themselves, so the middlemen come in and take their cut.