I would be surprised if any of the things you mention make much more than a small (percent or two) difference in the indicated speed reading. The stock speedo setup indicates 8% off on almost every 650. I don't know the error on the 1000 but I expect it would vary more because of the speedo drive being based on the rear tire which experiences more load variation.
If you are seeing GPS readings different in corners I suspect it is the nature of how GPS get the measurements: they measure the distance between two points and derive speed from that.
The GPS speed displayed can be very accurate but you need to understand how it can be inaccurate. I've used GPS units for 5 or 6 years now and have observed some things about them so while the stuff below might not be technically accurate in the description they are how I think of what is going on.
Here's what I've noticed:
-If you are making short turns the GPS will measure the speed from two points on the turn and as a result read a more pessimistic speed. (I think of the line between those points as a "segment".)
-If you are accelerating or decelerating quickly the unit may not "catch up" with the actual speed so that the displayed speed lags behind.
-If you accelerate quickly and then brake hard it may not show the top speed at all, but will tend to show an average speed of a segment.
-If you are traveling very slowly the error of the speed displayed can be higher due to positional error. (Notice on occasion you can get a speed reading when you are sitting still.)
These errors tend to be much less on newer units than on older units that have greater positional accuracy and faster updating.
Your straight up speed differences at 70 and 90 mph show in the area of 7 to 8% error.
As K1W1 mentioned, or to put his perspective in a different look, the speedo is not necessarily "Off". With the bike sitting straight up (i.e. not leaning in a corner) with properly inflated tires that conform to OEM dimensions the speedometer reads slightly fast. With lower tire pressures, different tire diameters, or more importantly when leaning in a corner, the speedo may be right. When cornering hard you are running on the sides of the tire which have a significantly smaller radius than at the center of the tire. The tire radius also grows at speed slightly due to centrifugal force (watch the rear tires on a top fuel dragster some time). The speedo on my VFR is also slightly optimistic according to my GPS, and about the same amount as my V-Strom.
I posted numbers in a topic somewhere that show GPS speeds every 10 mph from 40 to 90 but I don't know where it is now though. Straight up at 45 mph my speedo is dead on. Straight up at 70 mph it reads about 5 mph high. At 90 mph I think it was about 8 mph high.