The modern workflow is just to let GitHub squeeze yor shit commits into one and then rebasing that.
The thing is, we could have done better (and have been) since before git even existed.
Squashed commits are strictly worse than plain, non-fast-forwarded merges from rebased branches.
It's not my favourite process, but...