Fun fact: Basic attack range effectively has a random variance.
I didn't post about this when I first discovered it but it's interesting so why not?
Before you read this, please understand that this is a difficult technical limitation and it might not be feasible for Riot to "fix" it. Also, I have a video that shows the effect exaggerated by high movement speed so understand that it's typically not as bad as the demonstration video.
Remember when Klepto had a hidden +25 range buff? When I heard about that I had to test to see if it was true and I found something more interesting. Sometimes after issuing an attack out of range and then using the Klepto attack my character would not need to move closer even though the first attack was made at +25 range. So the character walked into range to attack at +25, but then didn't need to move any closer. What was up with that?
Additional testing revealed that the actual range you will walk into after issuing an attack has a random variance to it. It was possible to position the character exactly so that after using the increased range attack, the character needed to move closer. So that meant that sometimes when moving into range the champion would move closer than required.
Why is it random? This is my theory: The game processes at a certain framerate. When you issue an attack command it will check if you're in range. If you are in range then you attack, otherwise your champ will start pathing to the target. Each frame it will check the range again. That means between each frame you will move a certain distance. Most likely you will end up closer than your actual attack range when the time comes that you are in range. Between the previous frame and the current frame you will have moved farther than needed.
This pretty much always happens unless you're already in range.
The processing framerate is apparently pretty low because the variance appears to be pretty big if you test it a bit. If the processing framerate was 30 FPS and you had 350 movement speed you would be moving ~11 units of distance every frame, so the variance would only be about that much. It feels to be more like 40 or 50 though. That suggests a processing framerate somewhere in the range of like 10-15 FPS. Also, the fact that "just-frame" situations are strangely common in LoL also suggests a low processing framerate.
This probably has significant effects on the game but probably can't be changed due to technical limitations.
Here is a video demonstration: https://puu.sh/zRKFK/de9007b265.mp4
I used Teemo because his high movement speed makes the effect easier to see. When I queue an attack at the dummy with my speed boosts activated I moved I'd guess about 150 distance closer than Teemo's actual attack range. I was able to carefully move back and find his real attack range after that. Notice that for any attack queued from out of range, I moved a little closer than Teemo's actual range. The actual range is a little bigger than the circle because of bounding boxes, and that is also demonstrated here when I move back slightly and am still able to attack.