The other day I built a massive tower that was tall enough to reach above the clouds, and much to my surprise, rain still fell up there. That doesn't really make sense. My suggestion for a fix is that the rain effect would only be present from the cloud layer down.
This also got me thinking on ways to improve the atmospheric effects of rain, clouds, snow, and all weather systems present in minecraft.
Rain should only fall in the areas that are covered by clouds, to simulate rain falling from them. This would mean that spats of rain would shift over time and the entire world wouldnt be raining at once. This would of course require that clouds become more dense when it is about to rain, or else a good chunk of the world wont be raining when it's supposed to.
Because the clouds would become more dense, that would justify getting a little darker when it rains. However, what if you are above the clouds? In this case I think that the atmospheric affects of rain (darkness, grayer sky) should follow the rain itself in not being present when you are above the cloud layer.
I just imagine it being a dreary rainy day in minecraft, but then I climb to the top of my tower, far above the clouds, and its just a pleasant as ever, sun shining.