if you wait until the device is complete before starting to get the driver upstream you will have the problems you describe.
however, if you involve the kernel developer earlier things are much easier
there is the staging tree and the help from Greg to get things into the kernel.
most distros backport drivers that are added in later releases into their supported distros.
however, the biggest question to start with is if your device really needs a completely new device driver to start with?
if you are designing a new chipset, you are probably in a similar category as the 'huge manufacturers' you mention. but 99%+ of the time new hardware is not built using newly designed chips, it's built using existing chips with slight tweaks and in new ways. drivers for this category of devices are _much_ simpler to develop, and usually result in tweaks to existing drivers and not completely new drivers.