TBH hitting more often belongs to easier difficulty levels like story and easy. If PCs get +8 (story) and +4 (easy) to all d20 rolls (both combat and dialog) and their spell/ability DC, that should solve the problem easily.
I think thats the best solution when incorporating a story and easy mode.
I got an idea thats may or may not be so good but its a break from the either hit or miss results of combat. Why not have glancing blows or attacks that land but have a penalty to the damage roll. So for example, target enemy has an AC of 16, you have to roll 16 or higher to get a damage roll yes as standard and anything lower than 16 is a "miss". But why not have a pocketed area of...
If roll (4 ) under target's AC, so 15 to 13 in this example, attacker still hits and rolls for damage, but is a "glancing blow" and damage roll suffers resistance penalty. So attacker rolls 15 on attack, gets the "glancing blow", rolls damage dice of 6 but only does damage of 3 from resistance penalty. Any character based resistance penalties would also stack. So if defender also had a resistance to the specific attack, it would bring that damage of 3 to 1 (rounding down from 1.5).
I like to role-play the term "missing" not so directly as in "you completely missed the target" but much more along the lines of, you rolled too low and really did miss the target, or you didn't roll high enough but did a "glancing blow" or such and such for the name.
This makes it so there's atleast a minimal flow to combat. Instead of a hard hit or hard miss. You never know, a few glancing blows maybe all thats needed to turn the tide of battle.