It's hard to keep a pixel perfect rendering in this case: your world units no longer match the window's pixels, so OpenGL has to distort things to compensate.
There's no easy workaround, unfortunately. What you can do is to try different sizes for your view, and maybe you'll notice a rule for sizes that produce artifacts (typically, that would be non-integer or odd sizes), and avoid them.