Operation Barbarossa seemed to have a ton of planning and they had to have stationed their soldiers somewhere to launch the invasion. I know Stalin got reports about the invasion from Richard Sorge and disregarded them, but wouldn't all those troops on eastern border of Germany raise any red flags to him? The Germans weren't that good with counter espionage and didn't really pull anything like the fake tank armies and false documents like the Western Allies did, so it seems pretty unbelievable to me that Stalin didn't suspect an ulterior reason for the stationing of so many troops on the Soviet border.
Wouldn't Stalin think that they would be in France maintaining order or preparing for the invasion of Britain? What was his rationale for explaining millions of Axis soldiers in the East?
There a few reasons for that.
But one of the most important things is that it is reducing Soviet decision making process solely to Stalin is mistake by itself, even if a very popular one. Stalin did made his decisions on the basis of the information that he had available. And there is a pervasive myth that Soviet intelligence services provided him with an accurate picture of German military deployments and war planning.
So how Soviet intelligence reported on the German troop concentrations on the Soviet border?
Intelligence report #8 (West) from December 1940 states that Germans had 76-79 divisions in the former Poland and East Prussia and such amount of forces is clearly too large for simple border protection. Which is gross overestimation. At that point Germans had only 30 divisions in that area. And this report was critical for the continuous underestimation of German activity in the following months.
Intelligence report #1 (West) states: "East Prussia. There is no significant changes in the German grouping of forces in East Prussia in the period between November 15, 1940 and February 1, 1941"
April, 1941 Intelligence report #4 (West) states: "According to the analysis of incoming data the overall strengthening of the German eastern front against USSR (East Prussia and General Governorship) during February, March and first twenty days of April amounts to 13-17 infantry divisions, 3-4 tank divisions and 2 motorized divisions.
It looked like 25% increase in forces by the reports of the Soviet intelligence. But in reality German troop concentration almost doubled in the same period (from 30 divisions to 52) and it was still smaller that what Soviet intelligence reported in December 1940.
Special intelligence report from May 5 explained German troop movements that way:
"Nature of the German troops regrouping during second half of April after successful conclusion of the Balkan campaign and to this day amounts to:
Then Intelligence directorate makes following conclusion: "1. In two months number of German divisions in the border area near USSR is increased by 37 from 70 to 107. Number of tank divisions increased from 6 to 12. Together with Romanian and Hungarian armies the total number of divisions would be 130. 2. We need to consider the future increase of German troop numbers against USSR in Protectorate and Romania with forces freed from operations in Yugoslavia. 3. Increase of German strength in Norway is probable and these forces can be used against USSR via Finland or by sea. 4. German forces deployed for the operations in the Near East amounts to 40 divisions. 25 in Greece and 15 in Bulgaria. 2 airborne divisions will be probably used against Iraq."
So Soviet intelligence mostly interpreted German troop movements as preparations to invasion of the Near East and not against Soviet Union.
There is also a secondary issue, Soviet intelligence not only grossly overestimated the amount of forces Germans had against Soviet Union early in 1941, but made the same mistake about total German strength.
Chief of military intelligence Golikov made following estimation in his report to Stalin on May 31, 1941:
"German forces are deployed as follows: 122-126 divisions are deployed against England on all fronts. 120-122 divisions are deployed against USSR. 44-48 divisions are in the reserve"
So Wermacht had at the very least 286 divisions according to the Soviet intelligence of which less than half were currently deployed against USSR. In reality Wermacht had about 208 divisions of which at that point almost 3/4 were deployed against USSR.
Conclusion:
Soviet intelligence was grossly mistaken in their estimations of German troop movements and concentrations in the six months period before starting of the operation "Barbarossa". This mistake affected their analysis of the German war plans and through that influenced the decisions that Soviet political leadership took in that period.
Source is Алексей Исаев: Главные мифы о Второй мировой. (Alexey Isaev: Main myths about Second World war).