You have full control on pattern offset in fx node, just note that you'll want to have a random that isn't from 0 to 1, but something much smaller. That's where you'll be able to control how much offset you provide, and that's the only way to prevent overlapping. Note that if the image you're tiling takes 100% of the tile size, there will probably be overlapping, so you might want to get some empty gaps within the image to tile if that's not already the case. Also, you won't be able to prevent overlapping if your tiling method is using the iteration node. But what you want to achieve still seems possible to me, just go further with quadrants instead of using iterations