So you think that Nvidia will have to maintain a custom kernel forever? That'll be lot of work, how much backporting they will have to do to catch up with the latest kernel development and drivers? You know, hardware changes all the time, and the mainline kernel will be years ahead of what they have.
This will cost them more money in the long run, I don't see every Ubuntu user having to downgrade their kernels for running the nvidia blob.
I think it would be better for Nvidia and everyone if they just released specifications so that Linux developers could write their own drivers.
You can't discriminately lock out only the nvidia blob just because you don't like nvidia. You'd have to lock all blobs out or risk a lawsuit.