Type: Null was created by the Aether Foundation to be an anti-UB Fighting life-form. Codenamed "Beast Killer", Type: Null was given cells taken from all known Pokémon types with the intention of giving it the ability to shift between types by holding a corresponding Memory. This ability led the Aether Foundation to give it the name Type: Full (Japanese: タイプ：フル Type: Full). Three known models of Type: Full were created, but all three rejected the RKS System and went berserk. After being subdued, the three Type: Full were given limiter helmets to lessen the effects of the RKS System's rejection and were put into permanent cryogenic stasis. Afterward, they were deemed failures and their name changed to Type: Null.
The obvious theory is they're null because they're empty, failures. Personally, I think Type:Null was used over other Type:(Anything else) because full and null are similar in spelling. While this has no effect on coding of the game (i.e., it is just as easy to name it something else), it makes a kind of NPC sense.
Also, they were meant to be able to become every type, but this couldn't be exploited due to them going berserk, so instead it became null, as in, there was no way to exploit their type-changing ability, rendering it nearly type-less (Normal, in this case).
This is some amount of guesswork on my part, so I assume there can be other, better theories. Conversely, if there's anything flawed in the answer, I'd be happy to correct it.