I say get rid of nulls. They cause all kinds of problems and bloat up code. The few times you do "need" them can be handled other ways.
For example, check to make sure the data structure has values (elements) before running an "average" operation on it. If you don't check and there are no elements in it, then it should throw an error rather than produce a null.
Perhaps nulls are used in RDBMS because it's not easy to use conditionals or error handlers in queries to deal with an empty structure or no rows. Maybe have the Average function return two values (columns): one with the result value, and another column with a the count of elements averaged. If the count is zero, then the result value is invalid (not informative), but would be set to zero for consistency.
A potential problem with getting rid of nulls is that languages may have to support them for backward compatibility with existing stuff that produces nulls.