The whole problem would become moot if we had the option of using 2 date fields for births, marriages, and deaths. That way, when we know a date is approximate, certain, before, or after, we would use the first date field for it, mark certainty appropriately, and leave the second date field blank. When we know a date range, we could then use the first field for the "after" date and the second field for the "before" date, with the result being displayed "between (date1) and (date2)".
Unfortunately, I predict this improvement will never happen.