Doesn't the merge commit for a branch like that serve the same purpose as your rebased commit, but without destroying the underlying history?
This would indicate to me that you are committing too often or not using the staging area properly.
Is there a way to do this with the staging area? o.O