Perhaps we go the inverse route and define the bottom type as typeof(*null). Would that simplify matters? There is some good consistency about it:null: a pointer to anything. But can't be dereferenced. *null: well, therefore... anything. But can't be created.
That sounds more like a top type, though, because as you said it can be "anything". A bottom type can not be anything, but only nothing.