Mmmhh I hope I can help with the first thing that get's into my mind, and is something like this:
I have an agility, that represents my characters ability to evade an attack.
Then, in the other hand, I could have a dexterity or skill, or wathever status you would use to represent my character ability to succesfully hit an oponent.
So, if I would like to keep things the most simple as possible, I'd say, well, if my ability to dodge is the same as your ability to hit, then, probably you would hit me the 50% of the times. That I think, would be my starting point.
(I want to make clear that you would probably never hit me, but, that's not fun, at least not for games.)
Right now I cannot think about hitting without necessarily knowing about my opponent's agility, cause, every case would be different, depending on what kind of enemy Im gonna hit., but, if your agility are same as my dexterity, I know you would hit me at least 1 of 2, and, if you are as twice as skillfull as me, I know you would surely hit me.
Let us start with that premise in our minds.
Let's say that I have 12 dex., and I'm gonna hit you.
You have 8 Agi.
That said, I should have a good chance to hit you.
So...using rule of three...
If 8x2 (16)----represents---100% chance I hit you. (I have to be at least two times as skillfull as you to hit you fure sure)
Then 12-----represents--- ((12*100) / 16) = 75% chance I hit you.
That said, your chance to dodge me would be like 25% (Or chance that I miss)
75% and 25% are what it is for us, certain.
But it does not end here, cause, well, those are chances, and you could still avoid my attack if I hit you, in spite you being weaker.
So we can add an extra random chance, to what for us is certain.
I would do something like:
If((MyCharacter.CalculateChanceToHit(MyEnemy.GetAgi()) + (Usefullthings.GetRandomChance())) >
MyEnemy.Dodge() /** Animate your enemy dodgin' like a pro.
Where Calculate chance to hit and avoid returns the result chance of that happening(three simple rule) and getrandomchance is just a function that may return any percent from 0 to 100, or 0 to 50, or whatever you like.
Good thing is that, Getrandomchance gives you some control of what amount of "Lucky" you want to add to the game when chances are not on your side, and thinking a litlle bit too deep, you would have to try it several times to get what you think would be more "Fair". Its not cool that, If you have a more powerfull character, I got to avoid you many times, since it would seem like the "Certain" chance It's not really there.
Im not a game developer but I think that would be enough, at least for a simple game., I guess you could add Some other chances like when you wear a weapon, I would make lances more reliable to hit somebody than a knife. Just a thought.