Hurd has been in development since 1990, Tanenbaum–Torvalds was 92. The shipping and loading of drivers separately from the kernel was a micro-kernel advantage and Linux being able to do the same is a move towards micro-kernel features in Linux (fuse and cuse being others).
In MINIX, afaik, you ship some drivers with the kernel in the same file. But those drivers runs in user space and separate from each other. The issue is not related with shipping.
IMO, loading the drivers at runtime is the easiest part of microkernels. It is really very very very tiny step. There are a lot more things to do, like doing IPC between operating system components, managing memory, scheduling, protection of the system & driver process running in the user space.
Finally, loadable kernel modules does not give you any security and reliability. Those modules still share the same address space with the kernel and each other.