Could you not just antialias the line section of each row (the edges) assuming you currently just round the coordinates. So when drawing a row you add some antialiasign if the line section doesnt start and end at exact pixel coordinates.
If your input itself is not subpixel precision, you could take the previous rows input and average it with the current one or something like that.
Yes, to average it with the last row, seems a fast and simple solution. I'll try it out.