I do prefer to consider max level and work back from there but once you have a formula it is easy to play around with it. Other things to take into account is the stats you have for your characters, like do they have stamina, endurance etc and how they affect the damage received.
If you have never played buldars gate or icewind dale I would suggest you go there first because when the battle commences you can actually see the formula they are using as it happens. Even games like knights of the old republic do this as well (both of these use D&D rules I believe - or slightly modified versions of them).
I run all of my attacks through a universal event that handles every move in the game.
So after you give your character an attack command you run any simple formula for chance to hit (keep in mind you could do this so many ways, this is fairly easy but it can get as complicated as you like).
-------------------------------------------
Choose(1,2,3,4), if 4 then it counts as a miss, if anything else we can proceed through the damage chain.
-------------------------------------------
If proceeding, calculate damage. Set a variable "Damage" to tally up the amount based on other things like weapon strength and character strength.
-------------------------------------------
(Set 'Damage' to Weapon base damage + character strength stat) x 5 <--- the higher you make this number the more damage you will see and vice versa.
-------------------------------------------
Then we reduce the damage based on the armour of the enemy.
----------------------------------------
Target Enemy lose hp equal to 'Damage' - TargetEnemy.Armour.
----------------------------------------
Things can get more complicated if you take into account things like weakness to elements, magic and physical attacks etc.