Are you suggesting that devs should be able to burden the original contribution with conditions, like "they can't use my code without permission 5 years later if you relicense"? That's untenable, isn't it?
I don't know how else you would accept external contributions for software without the grant in the CLA. Perhaps I'm not creative enough!
If you say 'that makes it untenable for me to accept your contributions for free, then relicense to proprietary keeping those contributions', well, that's your problem. I don't particularly care about arranging tenable circumstances for you to sell my work under a proprietary license without paying me.
The way you accept external contributions for software without a CLA grant is by not attempting to take the project proprietary, and keeping the open source arrangement forever. I do not see how you could be confused about an open source project staying open source forever while taking open-source-only contributions. That is what almost all open source projects do.