I had similar problems with the OEM speedo on my 1996 Indian bullet. So I bought a new speedo from Mr H. As this looked like a genuine UK Smiths chronometric, I knew I could trust it.
But it didn't solve the waving issue although it didn;’t over-read quite so much. BUT I found it very difficult to continue for any length of time at averaging the highest and lowest waves, which logic said should be close to the truth.
Then I thought it was the inner cable sticking in the outer. So I tried it dry, oily, well-greased, lithium greased, lard, with and without the small washers - to no avail.
Then I believed the "too long" cable story which pushed up the speedo cup (no, not that sort of speedo), so I cut 3mm off the speedometer end of the cable with my trusty dremel. I believed this would be the answer because under the close inspection which I had finally given to the speedo, I could see the needle bobbing up-and-down as the wheel spun and the needle waved. This also didn't help.
So I stuck both speedo’s onto an electric drill to see if I could replicate the waving. Nope, they both held perfectly stable readings, although the OEM speedo read ~25% fast.
By this point, some 10 years later, the penny had finally dropped that I was on the wrong track.
So I jacked up the bike and watched the speedo drive as I spun the wheel. I could see where the cable screwed in that it was moving backwards and forwards. So I thought long and hard about circumsizing the other end of the cable, but logic prevailed and I unscrewed the outer cable and removed the inner and noted with surprise and delight that the mechanism was moving backwards-and-forwards in time with the waving. Some hideous manufacturing defect in the OEM part meant that maybe I could finally solve the waving.
I expect you are waiting for the end of the story.
Sorry, I cann't afford a new drive especially since I have a nice bike speedo which is great - except it doesn't like triple digits. So, as I am in a kilometer country (South Africa), that means I have good speed indications up to just over 60mph which is plenty fast enough anyway for this old codger.
Cheers, ChrisD
PS: sorry for the short hijack