The biggest improvement was just getting an ice texture and blending that over the top - it adds a certain amount of noise to the reflection that makes it seem less 'perfect' - and just changing the vertex colours means that the whole reflection gradually fades out.
With the new ice texture I re-tweeked the blur and found that it hides a lot of the artifacts with larger blur settings, so it looks much better now I think.
I also added some basic distortion using sine waves on both the x and y axies. It doesn't look too bad - it's a bit too uniform and really needs a per-pixel distortion - but it does give a good example of how it'd look without just a straight reflection. I think I'd get better results re-using the previous deformation stuff, so if I put it in an actual game I'll do things that way. Surprisingly having two sin() calls per-pixel doesn't affect the framerate any, but their presence makes me a bit uneasy. Easy to offload into a pre-calculated texture though at the cost of an extra texture sample.