Ну то что в 99% случаев нужно при каких то определеных услових можно и добавить по умолчанию я думаю. Определёные условия - наличие наследников с валидными деструкторами
Тогда надо вводить ключевое слово для развиртуаливания диструтора если он не одлден быть виртуальным? А если в классе нет вируальных методов, но есть члены указатели на динмическую память? Или они есть в наследниках?
Ну я ещё не видел случаев чтобы при наличии валидного деструктора надо было делать у родителя его не виртуальным. Но такое возможно, если объект имеет несколько варьянтов интерфейса, несколько базовых классов.