How can I make a number of objects sit "snugly" on an irregular surface?
This might not be as 'snug' as you might want but for the use case you described above, it is perfect. You can do this with a particle system and groups.

Group all your objects that you want to sit on the ground and add a new Particle system to the ground.

Change the type to Hair and under Render change the type to Group and select the group you had previously created, your objects will be scattered randomly across the ground.
(Note: This might lag your scene as the default Emission amount is 1000, so change it before or after).

I imagine this can be ideal for scattering rocks and or brush over some terrain. I won't go too indepth on the other settings as they are pretty intuitive and you will more likely get your desired results if you experiment. (larger image here)