I agree totally with there being a fee for changes made in person. However, for changes made entirely electronically, for example of tickets not even picked up yet, I see no reason why these should be charged at more than the raw cost to the retailer of selling and subsequently refunding the ticket.
As an example, I was recently unable to travel on a ~£15 ticket booked months in advance (a refundable one though), as I was ill on the day of travel. I hadn't picked up the tickets yet as I was going to do this at the station just before boarding the train. So why is it fair to charge a £10 fee and only return £5?
I appreciate that the fare I was paying was significantly below the highest possible 'walkup' fare, but I nevertheless fail to see how it can possibly have costed the TOC I bought it from £10 to receive a £15 debit card payment and subsequently refund this again. Probably no more than 20p in reality, as no human contact was involved anywhere in the process.