Last year, found the idea interesting and try to implement it with the limited ST2 API, result:
A nightmare and nothing really useful.
But thinking it again last week and found a better way to do it:
Put the cursor back to the first edit position of the line BEFORE running the move command.
Still a nightmare with the actual ST2 api events, but works pretty well in most case.
And found it pretty useful.
Get it at https://github.com/bizoo/SmartCursor and add some keybindings to your user file based on the Example.sublime-keymap.
As I actually never try an editor with this behavior, feedback are welcomed.