You can try turning pixel rounding off, and round them manually with events.
For example, when the character stops, set its position to round(self.x), round(self.y)
Same for the camera - make sure its coordinates are always integer when it's not moving.