The only real satisfactory answer is 'use collection_select with a prompt'.
Creating a table entry for nil creates all sorts of consequences which are useless costs.
I understand the point about 'radio means selecting something', however in some contexts (multiple variables with non-array values) may benefit from a UI perspective of having radio buttons: users can more easily compare different values simultaneously without activating one-by-one each pullDown menu.