Maybe one explanation why Stalin "did not hear early enough" news on German preparations on Barbarossa:
From Murphy, David E. What Stalin Knew: The Enigma of Barbarossa.
http://www.sonic.net/~bstone/archives/050703.shtml
Filipp Golikov, chief of the Military Intelligence Directorate, in the same situation "simply suppressed or altered analyses of the German threat to fit Stalin's mistaken ideas." Golikov was rewarded with promotions and, despite proven incompetence on the battlefield, assumed a series of important field commands during the war. (Golikov also stated in 1965: "I admit I distorted intelligence to please Stalin because I feared him.")
(Ivan Proskurov, the previous head of Military Intelligence, had been kicked out of his position partly for telling bad news of Hitler and Germany, I guess?? )
For his part, as late as the early 1960s Golikov apparently still believed Sorge had been under hostile control. In the middle of a screening of the Franco-German film Wer Sind Sie, Dr. Sorge? to senior officers, Marshal Zhukov, angry at not having been shown the Sorge reports predicting the war and its exact date, stood up in the theater and called out to Golikov: "Why, Filipp Ivanovich, did you hide these reports from me? Not report such information to the chief of the general staff?" Golikov replied, "And what should I have reported to you if this Sorge was a double, ours and theirs?"