get an electrical blinker, it will blink at a constant pace no matter how fast you are riding. Doesnt need the heat to make relay work
+1 on the new style flasher unit.
As for why yours does that, it could be one of, or a combination of a few things. Low voltage at the battery, resistance in the wiring harness/connectors, old/worn out bi-metal flasher, but if it flashes fine at higher rpms than idle, then it's more likely one or both of the first two.