To make it natural, allow players to learn from consumable books or trainers (meaning this should be a choice). But this should only occur every 5 or 10 levels.
If you don't want players to bot, make it easier for them not to bot. In other words, don't let players believe it is necessary to bot. Ranking up in this game is very hard, and it becomes ridiculous at higher levels. It would be fine if grinding was fun, but it isn't. I never grind unless I am doing something else, like reading or watching a show.
Personally, I don't see how AFK grinding is a problem. Your system allows it, even forces it. I don't think armor skills should exist, as it only seems to create complications, and I don't see it being realistic. I also don't see how it is possible to abuse the training dummies. It's the same as training on a punching bag. Do you really have to be at your keyboard, mindlessly staring at your screen, while your character trains his skills?
A final thing, which I think everyone has overlooked. When you are grinding, you are wasting time. You are training an imaginary character and spending more time on his skills than your own. You could be outside training your own skills. You could be learning something. Instead, you are focusing your time on a character that does not exist. This is why I completely support AFK grinding and don't care if another player is botting.