The long list of crappy fixup commits isn't needed per se ("just" force push), but I'm hereby adding my voice to the concern there's a general workflow problem.
The absence of any way to preview stuff other than by pushing it is conducive to what could be construed as "git bad practice". It was kind of mostly ok with the private repos, but IMHO the github integration makes it worse—try maintaining a fork of a repo that rewrites history on a permanent basis, you'll see what I mean.
I don't have a readily available solution to that. Sorry about the tangent.