Hey man, great idea for a discussion.
One attack roll that also determines damage... I have done this in AGE (Dragon Age, Fantasy Age, Modern Age) games with great success. However, despite being a d20 derivative, the AGE system is designed with enough changes in mind that make the implementation of these rules pretty easy.
So, here's how it works in AGE: rolls are 3d6 (not 1d20) + ability vs. Target Number (DC). Armor is damage reduction. One of the d6s is of a different color and the result determines how well you performed whatever check you tried. For example, you roll STR to jump a chasm and you are successful; if the different d6 is 1, it means you almost didn't make it and might be holding for your life; a 2 can mean you fell on the other side, safe, but will have to take a move to get up; a 3-4 is average, you did it ok; a 5-6 means you cleared the distance well and might get a +1 or +2 on your follow-up check to attack the dude on the other side, etc.
In combat, AGE has two rolls (attack and damage) as DnD. I always though that was stupid because... well, they have an amazing system to solve everything with one roll! So, I took the weapon damage (dagger d6+1, sword 2d6, two-handed axe 3d6) and converted to a bonus: dagger +5, sword +7, two-handed axe +10. Add your STR (AGE uses only the modifiers, not derived stats). When you attack, if you hit, add the damage bonus to that different d6 that determines how well you did and that's it! You made one roll and got the damage.
Now, in d20, admitting that you don't want to roll damage dice together with the d20 (I know, it doesn't solve the problem) my (very rough) idea is giving weapons a fixed damage (a dagger causes STR mod +2, a sword STR mod +4, etc. I'd say place it at half the die damage, rounding down as usual). When you hit, add +1 damage for every 2 points above the AC. So, my fighter (+6 attack and d8+4 damage) now deals 8 damage on each hit. If I hit the exact AC or around it, I deal average damage; on higher rolls, I deal much more damage. Hitting with a 18 against a poor AC 10 wizard would cause 12 damage; hitting with a 18 against a plate armored opponent would cause damage 8. A critical hit calculates damage as the total result was 10 points above; so, a critical hit against that wizard would cause 21 damage (26 attack, increased to 36 - AC 10 = 26/2 = 13+8 = 21).
This idea is untested and might benefit from some variants, but it is there. Hope there's something you can use. Happy gaming!