After trying to put up with the saddlebag slapping the backs of my legs, I soon got a Carradice Bagman 2 Sport rack. This does a good job of eliminating any movement from the bag and is really easy get the bag on and off.
However, the QR bracket clamps onto the saddle rails with a single, large nut.
After that ride I covered the nut thread in the recommended blue threadlocker, which is meant to stop things rattling loose. This does help, but it still comes loose from time to time, which is frustrating and slows me down.
Then I thought that maybe I need to damp the rattling to prevent tiny movements from working the nut loose. I've heard plenty of cyclists use old inner tubes for just about anything, and as I had a thoroughly-punctured one lying about I chopped a few rings off it and put them over the bagman's clamps.
I've only done a 300k ride with this, but I haven't noticed any movement so far. I should probably check it regularly for any play - if it did get loose, the rubber may quieten any rattling noise - so I may not notice. As always I'll update the post if this hack doesn't work out.
UPDATE: Well the hack mostly works. It has come loose again though, so rather than adding it to a list of things to check, I've put two narrow cable ties through the middle of the clamp. Even if it came loose it wouldn't fall off. I do have to cut and replace them when I move the rack, but it's no big deal. Still a nice rack, but a shame these things can't work out of the box.
Cyclists use old inner tubes for just about anything