I had an idea. For blended polygons (explosions, shockwaves, etc.), if they intersect something, instead of just doing a standard depth test, could we not somehow make the blended object less opaque the farther behind the next opaque object it is?
This way, you won't have a sharp line where, say, a blast intersects a hull.
I've seen it done in Direct3D, but I imagine it is just as doable in OpenGL (tho it might require GLSL, which wouldn't please me very well, as I can't run that stuff).

Concept, created in GIMP. The exact blending function would probably take some trial-and-error to get it to look right.