Yes, you can change the Undo behavior, but it has some implications.
From the Manual:
This enables Blender to save actions done when you are not in Edit Mode. For example, duplicating Objects, changing panel settings or switching between modes.
While disabling this option does save memory, it stops the redo panel from functioning, also preventing tool options from being changed in some cases.
For typical usage, its best to keep this enabled.
To ease the pain of the normal mode, there is an Undo/Redo history which may allow you to recover accidentally undone actions.
Again, from the Manual:
There is also a Undo History of your actions, recorded by Blender. You can access the history with Ctrl-Alt-Z.
Rolling back actions using the Undo History feature will take you back to the action you choose. Much like how you can alternate between going backward in time with Ctrl-Z and then forward with Ctrl-Shift-Z, you can hop around on the Undo timeline as much as you want as long as you do not make a new change. Once you do make a new change, the Undo History is truncated at that point.
The Repeat Last feature will Repeat your last action when you press Shift-R.
In the example Images below, we duplicated a Monkey Mesh, and then we moved the Object a bit. Using repeat Shift-R, the Monkey was also duplicated and moved.
The Repeat History feature will present you a list of the last repeated actions, and you can choose the actions you want to repeat. It works in the same way as the Undo History, explained above, but the list contains only repeated actions. To access Repeat History, use F3.