It took more than a decade from when MD5 looked like it was going to break to the point when it was actually broken. That's more than a decade of warning. One might suspect that we were fortunate that we got all that time. Even so, it took a long time for the world to move away from MD5.
How can we be sure that when our cryptosystems are flawed, that we'll have enough warning-time time to change them?
How can we be sure that, say, ECC won't get broken overnight?