You CAN learn from bots...
... and I'm tired of people insulting and laughing at me for suggesting such a thing. It's just a matter of keeping things in perspective.
For example, my skillshots used to be so poor that I'd avoid skillshot-reliant champs entirely. Anytime I would play Blitzcrank, I practically triggered PTSD-style flashbacks for my friends. Wanting desperately to improve, I started spamming Blitzcrank in bot matches.
But bots are easy to hook, I can hear you saying. Precisely, which is why they were such a natural starting place. If I can't hook bots, then what chance do I have against an actual opponent? Baby steps, people. Moreover, their predictability also allowed me, in a way, to practice the important part I was forgetting, that skillshots are just as much about prediction as they are about aim. Again, it was all about baby steps. With both bots and humans, you need to read their tendencies and exploit them. Against bots, I laid the foundation, learning the concept, then in normals I built upon it.
Ever since then, I've noticed my skillshots as a whole have improved since bots ingrained in me the basic principle that governs someone's ability to land them. Now all I have left to suss out regarding skillshots is their timing and hitboxes. This isn't to say I land every skillshot, but that I have confidence now in my ability to land skillshots when I need to, so long as I know those two things about the skillshot in particular.
In short, though you'll always learn more from facing real people, bots can be great for laying valuable groundwork if you go at them the right way. You can work on CSing, test out jungle paths/clears, get a basic feel for matchups, try out new things, practice combos, learn the ins and outs of a champion (their power spikes, limitations, etc.), etc. For me, this makes things a heck of a lot easier once I finally make the leap to normals or ranked because everything's easier once the basics are second nature.
