What version are you running? The current development code has a couple of recently added options to address the sort of situation you describe:
# If set dates will be sorted taking specificity into account with more specific dates for a given value appearing
# before less specific values. Eg. July 1 1972 would appear before July 1972 even though both evaluate to the same
# start date.
sort_dates_by_specificity = 0
and
# Control where undated items are placed when sorting on date values
# Set to "start" to sort undated items before earliest dated item
# Set to "end" to sort undated values after the latest dated item
sort_undated_at = end
Both of these options are in the datetime.conf file, and will be part of the next release.
If you change these options you will have to update the sortable values generated for you dates to see a difference. You can do this on the server command-line by cd'ing into the support directory of your installation and running this command: bin/caUtils reload-attribute-sortable-values