Usually software should make it hard to do the wrong thing and make it easy to do the right thing. This is git we are talking about so it is fair to expect it to have a poor UX.
Rebase/reset are major and first class features of Git. It's only wrong if you work with a team that expect the centralized server to be consistent.