The workaround you are proposing will probably work but has some major drawbacks. It breaks validations for required fields and it adds complexity to all your enumerations because you have to check for the 'empty value' everywhere (or use a before commit event handler to empty the value). This gets even more complicated if you also want to do that for reference selectors, which also use a dropdown.
Although it won't help you right now, I think it would be better to have a placeholder property on such widgets, just like the text box, so you can configure the text which is shown when nothing is selected. You could file a feature request, because this sounds like pretty common functionality.