You can use the min-device-pixel-ratio
media query to load a separate sprite sheet (and specify separate offsets), or to specify separate offsets in the same spritesheet.
It would be better to use a separate spritesheet for each density, so that clients don't need to download pixels that they can't display anyway.
You can use a LESS or SASS mixin to specify the offset once and generate a second media-query'd rule that doubles the offset.