The null value is a necessary and critically important value: sometimes you have to represent 'nothing.' It's not particularly special as a value. It doesn't break type systems that are designed for it.
The issue seems to be that some people forget that their code might receive null values and that nulls are represented as a zero pointer which cause an exception if dereferenced.
The resulting backlash is worse than the disease: straightjacketing languages and littering them with more busywork.
I've gone the opposite direction in my work: not only can pointers be null but so can all other basic types. It's incredibly useful and a real design win.