This is an energy conservation issue. Refraction gets what remains after reflection. If your reflection is pure red, you cannot then have any red in refraction, hence you get the complementary color.
I can think of 3 ways to do this:
1) what is currently implemented (strongly colored 1 component results in complementary color in the other
2) darkening of all color channels equally (then you would get no complementary color, but gray/dark).
3) breaking energy conservation (fake)
I dont know what is best. Vray lets you choose IMHO between 1 and 2
Why doesn't this happen in real life?
In real life you have 2 basic types of materials: metals and other. Metals have only 1 mode of interaction: reflection. If the surface of a metal is rough, the reflection is blurred, but it is still a mirror reflection from very small randomly oriented faces. This reflection is always done in a single color. So no metal combines 2 colors in any way.
Other materials have 2 types of interaction: reflection and refraction + subsequent scattering (SSS, volumetric effects) inside the material. Reflection and refraction of almost all materials is white-only (again, no color combination). Once light is refracted, it can interact with the material (SSS, volumetric effects). Different wavelengths are absorbed differently, that means that the light that comes out is colored. There is no diffuse interaction, it is just fake to simulate materials with very subtle SSS (light enters the material, bounces in it a little, and goes out).
tl;dr: no material in real life scatters and refracts with different colors. Also, real materials also have MUCH lower albedo than what CG artists are using (~0.3).