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:
https://github.com/DarwinAwardWinner/ido-ubiquitous/blob/083479a3075eaf35711a53cef2d90d3fdf9213a1/ido-completing-read%2B.el#L88-L111 and
https://github.com/DarwinAwardWinner/ido-ubiquitous/blob/083479a3075eaf35711a53cef2d90d3fdf9213a1/ido-completing-read%2B.el#L266-L286 

I'll be testing this out to see if it works acceptably well in all cases. Comments welcome.