You generally don't use a special shader for the player to create an underwater effect, nor do you do any sort of crazy collision detection between the player and the water.
Underwater effects generally activate when the camera is under the water. And underwater effects are often accomplished by way of full-screen post-process passes rather than swapping everything to a special underwater shader.
In other words you render your player and everything else normally all the time. If the camera happens to be underwater, you render a fullscreen quad when a special shader that samples the regular frame and applies the underwater "wave" effect, along with whatever other fancy effects you may want to add (maybe a color shift, for example).
The other side of the coin is when the camera is above the water, but looking down into it. In this case, the responsibility of doing any refractive waving and whatever would normally be the job of the water geometry's shader; it will generally also sample the regular frame and apply a similar kind of distortion (as well as a reflection and refraction effect).
In both case, the player doesn't get a special underwater shader. A post-process effect is used when the camera's below the water plane, and a special effect is used for the water plane itself for when the camera sees it from above.
Since you've edited the question to specify that you're using 2D, I'll note that that doesn't change a whole lot. You no longer have to worry about a water shader for when you're above the water, looking down into it. That makes things easier.
You also don't have a camera that can ever really be under the water. Instead, you know which regions of your world are underwater via some other mechanism (maybe the world is tile based, maybe you can identify the water with a rectangle or spline region, et cetera). You can use that mechanism to build a mask for the fullscreen underwater effect, using a texture containing alpha values as I describe in my answer to this other question. That mask can be used as a blend factor to ensure the wavy postprocess effect is only applied to the regions of the scene that are under water.