I like this last proposition from Jan.
We could define in the .ini config a group of directories where DBs and compaction woud be stored/done.
When a DB open request comes in, CouchDB would loop over that list of directories and stop as soon as it finds one having the DB file.
If none has it, it would loop through all the directories again but looking for one containing a DB compaction file, and rename it to the main DB file (like it's currently done).
With 2 or 3 directories, I think this wouldn't slow down (significantly) open DB requests.
When creating a DB (or compacting an existing one), we could randomly choose which directory to use.
If everyone sees this as a plus (I see it like a plus), and doesn't find a flaw in the idea, I can implement it and give a patch soon.