[Асинхроность и nodejs] Кто что использует против callback hell и почему?
Это популярная проблема, все пытаются с ней бороться, придумывают разные инструменты, библиотеки и прочее. Но скажу, что при хорошей архитектуре вложенность функций редко переваливает за 2 штуки - а это уже никакой не `хэл`.  Ну вот посмотрите на метод в котором у вас этот самый `хэл`. Это же явное нарушение SOLID - один метод обрабатывает данные, куда-то их посылает, ждет в коллбэке ответ, с ним что-то делает, потом снова вызывает другую асинхронную функцию и опять ждет ответ, и так несколько раз. 
Поэтому `коллбэк хэл` - это классная штука, которая помогает разбивать код на независимые функции - принял данные, что-то сними сделал, отправил дальше как эти данные, так и другие аргументы. Точка.
Ну основные подходы вы перечислили.
За yield, генераторами и обертками над ними - будующее, но пока они доступны только в нестабильной ветке 0.11.
Fibers - попытка их эмулировать, мне не очень нравится, да и смысл, если скоро генераторы появятся в стабильной ветке?
Q и прочие промисы - хорошая штука, но в js по старой привычке использую async.
Текущие проекты пишу на LiveScript, в нем с последовательными асинхронными операциями помогает такая штука, как backcall'ы, пример.