How can I prevent the top layer of sauces from discolouring?
This discoloration is primarily oxidation. If you cover it with plastic wrap/cling-film such that the wrap is directly touching the top of the sauce (spread a piece over the bowl, then press down in the center and let the wrap rest on top of the sauce), the discoloration should be minimized. Just keep the plastic wrap on it until right before serving. (If you don't like plastic wrap, you can cut or fold a circle of parchment paper or waxed paper the size of the dish, but plastic wrap is easier.) 

I'm not sure how long you're letting it sit on the shelf, or if that is a shelf inside or outside a refrigerator, but you may want to also consider food safety if you are leaving things at room temperature for an extended period.