Let us say, you are creating a repo, and you are already aware of the face that you'd have to perform rebasing on top of its "first" real commit in the future, you can avoid this problem altogether by making an explicit empty commit at the beginning:
git commit --allow-empty -m "Initial commit"
Now start doing "real" commits. Once done, you can easily rebase on top of that commit the standard way, for example git rebase -i HEAD^