Also, I know this should be obvious... but since Retpoline requires a recompile... I can't help but think gee that's not exactly a silver bullet. How is that superior to a microcode update??
Branch prediction, itself, is so fundamental that it's probably not implemented in microcode. The performance/efficency benefit of hard-wiring it is probably too great.
Maybe some CPUs have the ability to configure its behavior from BIOS, however. Or perhaps there are hacks you could do in the microcode for jump instructions, but maybe the microcode doesn't have enough flexibility or visibility to implement the same technique used by the compiler.