I like the Ortlieb micro bag on my road bike because it's water (and obviously, mud) proof and it has a secure quick release clip that fastens to the saddle rails. HOWEVER, it may not fit every saddle out there, so your mileage may vary. (If you have a really narrow saddle, I bet the rails would be too narrow. I ride a 143.)
Because of the clip and construction of the seatbag, it resists moving around to a very high degree. You can also use rubber bands to hold stuff inside together and pack it in a way so that you don't hear crap bouncing around.
Note how I said I have that on my road bike. On my MTB I just put my spares in my Camelbak which is a Charge LR.