I understand your point.
In our game, combat on a significant scale would take a couple hours and it seemed like forever. We've done some things that have streamlined our process and works well for us. Combat flows much faster and our DM is a lot more narrative as a side-effect.
1. If you are rolling initiative each round, stop it. Roll once, and keep the same order every round. We were worried about how it would affect the game, making it predictable, etc. and that hasn't happened at all. It speeds things up when our DM doesn't have to re-order initiative each round.
2. Use average damage for weapons and spells. Sure, rolling dice is fun, and sometimes players still roll. But for a Fireball, but when I cast it I do 28 (average) damage each time. I don't spend time counting out the dice and adding up the result. The same goes for Sneak Attack damage, I do 10 (from 3d6) each time. My d6 shortsword does 3 each time, plus my bonuses of course.
Our DM uses average for the monsters and NPCs always, for spells and everything. The ONLY exception is if the spell or attack could result in a character death using average damage. In such cases, he rolls because it will give the character a chance to live instead of automatically killing him with average damage.
If you decide to use the averages for damage, make notes of the amount on your characters and include bonuses. That way it saves you time making the calculations on the fly.
3. Have options for prepared spell lists. We just started doing this for spellcasters so we aren't wasting time with players selecting spells for different situations.
Anyway, while a novel D&D ins't bad for people who want it, too much narrative isn't the taste many tables want. But if your goal is also to speed up combat, the above options and they might help. I know they have helped us A LOT!