а на js это как предполагается реализовывать? на onresize окна? и что, думаете меньше писанины?
1) Математикой ( если диз шарит, то можно вообще миксин сделать, благодаря которому можно сделать на все размеры сразу заготовку )
2) По сути, да
3) Меньше. Но повторюсь, что это криво, тупо и не нужно