I have the same, if have the app open while walking I can scan it while going into a store without slowing down.
The most frequent mistake is people are too close, or the store has laminated the poster but it isn't perfectly flat so has a glare... so I say pull back a bit or try further away on an angle and it works.
You're 100% correct that most people are too close when they try to scan the codes. In the Munzee game that I play, where the player has to find and scan QR codes in the real world, I can scan a postage stamp sized QR code from over a meter away. It sometimes amazes me that the technology can do that.
I think you've actually got a better chance of scanning the codes while you're still some distance off and moving towards them rather than standing stationary in front of them. This is because you're moving around and so the QR code scanner is getting to see the code from lots of slightly different angles / distances as you move towards the code and this can counter-act glare and such. I've certainly found this to be true when playing Munzee, in which I've scanned thousands of QR codes of various qualities. If standing stationary in front of the QR code then you often have to move your phone towards / away from the code and also angle it up / down / left / right in order to get it just right if there's glare from a window or lamination.
I've seen people standing in front of the code with their phone held steady pointing towards the code and wondering why it's not scanning. Often you can see glare in the image, eg one or more of the registration squares (the three large squares in the corners) has glare on it and can't be seen properly. If they just moved their phone around a bit to adjust the angles then they'd find that it scans pretty quickly.