Не нашёл решение проблемы, сделал в лоб. Использовал шаблон для ретины через опции.
var spriteData =
gulp.src(path.src.sprite)
.pipe(spritesmith({
imgName: 'sprite.png',
algorithm: 'top-down', // binary-tree - плохой алгоритм для ретины
imgPath: '../img/sprite.png',
padding: 5,
// retina
retinaSrcFilter: ['src/sprite/*-2x.png'],
retinaImgName: 'sprite-2x.png',
retinaImgPath: '../img/sprite-2x.png',
cssName: '_sprite.styl',
cssFormat: 'stylus',
cssTemplate: 'src/handlebars/stylus_retina.template.handlebars',
cssVarMap: function(sprite) {
sprite.name = 'ic-' + sprite.name
}
}));