Stormtroopers are notoriously bad shooters. It's probably not because of bad training, or a lack of genetic engineering seen in clones, but because of the helmet.
In Rebels Season 2, we witnessed the return of Captain Rex, 501st Clone Battalion. Cumulatively, he probably shot down an army's worth of droids over the course of the Clone Wars, so we can probably say that genes, training and experience has turned him into a good shooter even by clone standards. Then, during Rebels, we see him tucked into stormtrooper armour and instantly started "shooting like a stormtrooper". Eventually, he got fed up, took off his helmet, complaining "this helmet, I can't see!" and immediately started shooting like an ace again.
Clearly, the helmet is a major impediment to combat effectiveness, and probably the key reason why stormtroopers shoot so badly. In canon and Legends, we also see so many former stormtroopers who are such good shots when not being a stormtrooper too. So if the helmet is rendering your infantry irrelevant in battle, why did the Empire design the stormtrooper helmet this way and why did they keep it?