If you want to stick to your D&D roots and refuse to let go of to-hit rolls, consider this solution:
This is stolen shamelessly from the Index Card RPG (a game that’s very, very well crafted, but way too fiddly for me). The GM assigns ONE general difficulty rating to one location. The more complex, dangerous, crowded, etc a location is, the higher the difficulty rating (also called “Room Target Number”). 10 is your standard, off-the-shelf room without much danger or difficulty, while 19 is a room packed with gun-toting hopping rat-vampires hell-bent to invite you to dinner, with you as dinner.
This number is the Room Target Number for ALL rolls that are made in this location, at this point in time.
The GM now looks at the stat that’s being tested. Is it high enough to warrant a bonus to the d20 roll? If so, how big a bonus?
The player now rolls a d20, adds any bonus, and tries to beat the Room Target# (roll equal to or higher). If he does it, he is successful. In combat, he then rolls the damage die for his weapon.
MONSTERS attacking player characters in combat roll d20+bonus (if they have one) and must beat the characters’ Armor*2, plus 10. If they are successful, they then roll their damage die.