I guess c doesn't change over time fast enough for us to be able to detect it so the SI definition remains useful. Using a single physical standard has its problems as well. What if we find out the size of fundamental particles is also changing slowly over time? What if we find out, as we did, that the mass of the standard kilograms is changing over time, and indeed they are diverging, slightly. Even bigger problem if someone drops one of them.
With length, I think an earlier definition was based on the circumference of the earth at the equator, which changes detectably from one year to the next. It didn't when defined, because that was before satellites could measure sea level rise to the millimetre, or variations in bulging due to tectonic effects on the rotational velocity of the planet.
So trying to find a better standard is good science, while expecting a perfect standard is not. I know that will rile the physicists here, but as a "soft" clinical biologist, I couldn't care less about the finer points of SI standards - any femtoAngstrom differences from the previous definition don't affect my work. I guess the only one we can't change is the mole (is that even an SI unit?), which is really just a big integer, thus could be replaced (if less conveniently) with a prefix, if we had a prefix for 10^23. It's really convenient because it bridges atomic weights to the SI system, but why does it deserve to be a base unit?
It seems likely that the SI units will be useful approximations to reality at all meaningful scales for the remainder of human civilisation (and we can put a plausible one billion year maximum on that, probably it wlll be rather less), which is as long as we need them.