The way it usually works, in my experience, is trial and error. You can see your rolls and know which ones hit and which ones didn't.... -snip-
That's is very un-fun. And then spend way too much time replaying encounter again and again, casting various debuffs and dispells hoping that you will figure out what you are supposed to do.
I can only see it work, if game had ways of communicated why and by how much you missed without showing actual numbers (as I would imagine a good DM would do when describing the action).
Another vote for turning misses into what they actually are:
-miss if you roll < 10
-blocked if you roll between 10 and the enemy's Armor bonus
-dodged if you roll between ^ and the enemy's Armor+Dex
-shielded if rolled between ^ and the enemy's shield bonus
This way, you can visually tell why most of your attacks are missing. Does the enemy have high armor or high dex?
The above combined with a bestiary that updates via arcana/nature checks upon encountering and defeating enemies would be perfect.