Как убрать мерцание при transition?
У вас стоит transition для всех параметров (all), тем самым когда хедер переходит в фиксированное положение он выпадает из потока. Считайте его высота = 0%. Если убрать транзишн - то вы не увидите этого эффекта, а вот с ним - шапка пропадает. В тразинше необходимо прописать только те свойства, которые вы хотите изменять - ширину, маргины.
Я бы еще отсечку прописал, чтобы зря JS не гонять$(window).scroll(function() {
    if ($(this).scrollTop() > 1){
        if (!$('header').hasClass("sticky")) {
        $('header').addClass("sticky");
        $('header .logo').addClass("sticky");
        $('header .navbar-right').addClass("sticky");
        }
    }
    else{
        $('header').removeClass("sticky");
        $('header .logo').removeClass("sticky");     
        $('header .navbar-right').removeClass("sticky");            
    }
});
тогда, возможно, и transition один раз проидет, без наложения.
P.S. не повторяйте свойство z-index для смежных классов (header и header.sticky как пример), не забывайте, что через transition можно менять не все свойства CSS список возможных