In any case, I've come up with an experimental version of ido-ubiquitous based on the idea of "empty string is the default default". It's currently on the empty-string branch: https://github.com/DarwinAwardWinner/ido-ubiquitous/tree/empty-string
Here's the relevant code:
I'll be testing this out to see if it works acceptably well in all cases. Comments welcome.