The easiest way to fix this for millions of years would be to switch from using a 32-bit counter to using a 64-bit counter.
You can be sure than entities requiring to use dates later than 2038 today (banks, insurance companies, etc, etc.) are doing this already, others who don't need to do that yet probably won't bother doing that until they actually need to.
Very little programming work is required. In many cases, it requires little more than recompiling after updating a few definitions.