I've seen other places where people recommend using a 1 pixel transparent border around every sprite. I think the problem with this solution is that it doesn't work for tilesets where you don't want a border between your tiles.
yes, you need a 1 pixel border, however, with tile sheets, instead of making it transparent, you need to make your border be an extension of the last pixel, for example:
^^this is a tile sheet i use, each tile is 64x64. but the border makes them 66x66, however, if you look at the border, each pixel is == to the pixel directly left/right/below/above it.
i made this example to see a bit easier of what's being done: