So, just FYI, the current beta of GMS2 dramatically changes how collision checks are done. They are no longer whole number based!!!! This is actually massively huge. So fractional speeds no longer really matter anymore. If your bbox_left is .00001 pixels away from a wall, you aren't colliding.
What this also means is that "snapping" to a wall with the classic x += sign(hspd) code can be further refined with an "accuracy" multiplier x+= sign(hspd)*.01
Will it slow you down a bit? Yeah, maybe, but it will make all these floating point errors and jitters go away; possibly for every collision system ever. Very exciting.