I always have a chat with the station staff when this happens. I have to say that their advice, in my cases, usually proves the point that compensation is due because no alternatives were forthcoming, but that doesn't make it any less good practice than to have a chat.
I'm reminded of one occasion where I had a London to Nottingham EC & Connections Advance on the 1609 London KX to Newark North Gate with a change of trains at Grantham for Nottingham. The 1609 was cancelled and while an earlier service was available it wasn't made clear that I could run and catch it by information on the station screens, on NRE or on the company twitter. As such I asked the gateline staff who couldn't help me and directed me to to the information desk or ticket office who could advise further. No problem I thought. Having missed the preceding train while stood in the KGX ticket office queue and having had the 1609 cancelled I asked the ticket clerk what I was to do. I pointed out that an East Midlands Trains service to Nottingham would see me arrive either early or on time (I can't remember exactly what now, but certainly not significantly later than planned). This was of course refused. No surprises. The clerk had put London to Nottingham via Grantham into his journey planner and it suggested a train some time later from London to Grantham, which I was told I must use. I suggested I should instead join the next EC service to Grantham. I was told this was explicitly not allowed, and that if I did this, I would be charged for a new Anytime Single from London to Grantham. I said I thought that seemed odd as it increased the risk of missing the next Grantham to Nottingham connection, and was told that if I didn't like that I shouldn't buy Advance tickets. Whatever. So I waited, allowing one train then another then another (one was the 1548 HT though, admittedly) to go to Grantham before joining the appointed service. This then just missed the next Grantham to Nottingham connection, so I had a wait there as well. Once all of this was explained to the as was EC Customer relations they paid the (rather large) compensation bill to me. There was never any real recognition of why I was over two hours late, though, and the answer was plain to me - because I followed the advice I was given at the ticket office.
In another case I had a ticket that was only valid on Northern trains (I don't remember what but perhaps it was a £10 promotional Northern Only Day Ranger). Anyway, my train from Preston to Manchester Piccadilly was cancelled, and I waited for the next Northern train (quite a while) at the direction of the staff at Preston, who had said no ticket acceptance was in place. I was told by Northern that I wasn't delayed, because there had been a TransPennine Express service which would have arrived at Manchester Piccadilly less than half an hour after my booked time. It took quite a while to make Northern understand that they still had to pay the delay compensation in this circumstance.