Yes, there are a lot of very crappy dice mechanics out there.
I am trying to reduce mine with two approaches.
The first is that I avoid lots of very specific modifiers. Those "+1 for aiming, -1 for partial cover, +1.5 for the scope, 20% deduction for skill and +1d4 because it's Monday" lists. There is only one case in which dice values are ever modified in my system. Everything else is "roll x d6, keep the highest 3, assign them to success, effect and resource depletion".
The second is that I reduce the number of rolls made by handling entire situations with one roll. Instead of 20 combat rounds and individual rolls for each attack and defense and wound, a fight will usually be one, two, maybe three encounters. In movie language, that's one scene. So a combat roll is not one strike, but a series of exchanges. This brings combat closer to other resolutions where it is more common that you make one roll to resolve your entire seduction or research or vehicle repair, not roll for every move seperately.
I'm also trying an approach that will put Search and Handling Time back into the game through interpretation. Instead of comparing dice values with TNs and then looking up the difference on some table to find out what it means, dice have fixed meanings, and all manipulation goes to the size of the dice pool only. By assigning dice, players choose the outcome of their actions - dice values become meaningful.
So, I have success, effect and cost. In all cases, a 6 means total success, 4-5 means success, 2-3 means failure and 1 means catastrophic failure.
If your pool is 5 dice and you roll 1-1-2-5-6 (which I actually just rolled), you drop the two 1s and now you choose. In case you can't decide, you usually want them in highest-to-lowest order, but maybe not. With the default choice, you would have had a total success (you got everything you aimed for), you made a big impact, but it was costly in terms of resources. If you are low on resources, for example, you can decide to get less effect, but save on resources.
In combat, this could mean you hit exactly where you wanted, you made a lot of damage but it cost you a lot of ammunition (ranged) or exhaustion (melee). Or you could choose to make less damage, but save on ammo.
Total Search and Handling time, IMHO very good considering you get the entire encounter resolved meaningfully in less time it takes many systems to resolve one attack.
For character improvement I have a very specific system that depends on the background setting a little. What you need to know is that characters are demons who inhibit humans, so their abilities (dice pools) are the sum of what the human can do plus what they add to it. This allows me to start out characters with ZERO abilities. What they can do is use magic (from a limited pool) to "boost" the abilities of whatever human they are in at the time. Every time they do so, players put a mark near the boosted ability. Once they've done it a certain number of times, that boost becomes permanent, they can use it with zero cost, and they can use their magic to boost higher, with the same rule (do it x times, it becomes permanent).
So in your terminology, my mechanic is directly consequential from single moments of play.
However, character improvement is not by itself the primary changing feature. It is one half of the equation. The game is much about ethics and consequences (as a game with demons should be), so one part is getting better, the other part is HOW. Like in the Star Wars games, characters can advance on the good or the evil, and I also have a third, neutral, axis. These are all mutually exclusive. So in addition to the numbers part, there is also an evaluative part. I'm still working on the details of this one, the mechanics is that your power in either of these three dimensions limits your magic pool and how much you can boost anything. Like the ability improvement, this is a result of in-game actions.
The concept of both of these is to start literally with an empty sheet, and go from there. Character generation consists of exactly one step: Write your character name on the top of the character sheet.