For a brief time 10 years ago I though like you do in this post. However after working with foreign keys and multi-key unique keys in well managed schemas, nulls have become
a very welcome tool for helping to model relations via database constraints that could not be done without nulls.
I share in your lack of enthusiasm for various oracle behaviors.
Excluding NULL or undef values under a well intentioned blanket statement is fine, but understand you are removing valuable tools from yourself - cutting down on logical variations sure - but you are removing tools from your toolbox. Just because you haven't yet discovered how they are useful to other people doesn't make them less useful.
my @a=qw(random brilliant braindead); print $a[rand(@a)];