I would suggest studying Krivosheyev's work for the Soviet losses and Overmans for the German ones. Losses comparison needs to be done with care, as there are many nuances, as such: like counting casualties of the same type (only killed or wounded killed an missing, etc.) on both sides, counting all the allies for Germans, adding up Soviet soldiers who switched sides (Germans didn't count them), separating captured onlу (those were counted differently on both sides).
Krivosheyev's group has not only estimated Soviet casualties, but also German by using captured Reich archives and statistical reports. The number they got in the end was: 7 181 100 irreversible losses for all German units operating in the Eastern front, of those 4 270 700 killed. Axis allies add up 1 468 145 (806 000 of those killed) more to the number. These numbers frequently are treated separately despite the fact that axis allies fought on the same front. Depending on the author, this may cause the confusion and misinterpretation. If one compares only killed German soldiers to irreversible Soviet losses (frequent case), then he would get a huge difference. Example of using different numbers.
At least in the first part of the war (1) we still get a number that favors the German forces. (2)
UPD: this is also true for the second part of the war. For the third part there seems to be less data, but then the Axis usually lost more.
On average, the adequate relation between the military losses of the two sides is around 1,3 - 1,6, depending on the assumptions made by the research group.
The Soviets had more losses for several reasons, all of which are huge organizational problems that required years to be solved. I will mention part of them and they are mostly related to the artillery since it causes the majority of casualties on the battlefield.
1 - lack of artillery in Soviet units. For German units it was usual case to call in barrage of 105mm guns. Say the 6th Army had calibers over 300mm. The Soviets routinely used 76mm guns, later bigger ones started to appear in ordinary units. Big calibers were always in the Stavka reserve and used to reinforce very important directions but even those were smaller than the ones Germans had. In other words, in general, the Germans had bigger guns and more of them in the first part of the war.
2 - lack of artillery shells, explosives, gun powders. In 1942 the Soviet gunpowder factories released half of the gunpowder needed by the military. Poor situation was with explosives. This all of course sums together with lack of ammo and lack of maximum weight of artillery barrage as well as time, needed to accumulate that barrage in order to prepare for some offensive. Roughly speaking, for each shell fired by the Soviets, the Germans could fire in return 3 and even more shells, especially if considering bigger calibers. That resulted in an important problem: in the first part of the war the Soviet artillery could not win artillery duel against the Germans. Absolutely no chances at all.
1 and 2 in total result in less guns, smaller guns that can deliver less mass (due to slower shell resupply) to the enemy at a reduced range (due to smaller calibers). The Germans would simply outrange Soviet artillery by utilizing their bigger calibers and suppress it. Then they rip to spreads tanks and infantry.
Good example of this is the Sevastopol battle. The Soviets had naval artillery support there and it was a major factor for Soviet troops to hold on for that long.
Another examples are Kursk battles South and North flanks. Rokossovsky on the North flank had simply enormous artillery group and narrower front. Here the Germans made the least progress. Vatutin on the Southern flank however had less artillery and wider front to protect. The Germans made more progress here. It must be noted however that they had stronger forces here.
3 - lack of proper towing vehicles for heavy guns. Stalinets tractors had maximum speed when loaded of like 5km\h. And that is everything the RA had to tow anything bigger than 76mm. So trying to catch say Guderian with those 152mm and 203mm guns is pointless. German motorized units had proper support vehicles and could tow any artillery they need at proper speeds, that is at speeds matching those of tanks. Yes, their infantry units used horses for that. In that respect they sort of matched the Soviets. However the Soviets didn't have fully (I mean to same extent as the Germans) motorized units at all.
This also means that if some unit is about being surrounded, then it would be very slow to retreat. And even if it does retreat, it would loose all its heavy guns and ammo (which would be then used by the Germans of course).
4 - lack of infantry transport, that had armor and could keep up with tanks. Famous kfz 251 was there for a reason and the Soviets simply didn't have time and capacities to make anything similar to them. That production was planned for 1943.
All four points together mean that tanks would arrive first to the battlefield. Infantry would lag behind due to lack of transports and even if they use trucks (which they had in excess at the beginning of the war), the infantry would still lag behind the tanks on the battlefield. Tanks would drive away from the infantry, get knocked out and then the infantry would get pinned down by machineguns and massacred by artillery.
While this happens, the Soviet artillery would still be half way to the battlefield. And even if this whole mass did reach the battlefield simultaneously and the Germans were stupid enough to try to bash against this head on, then the Germans would still win the artillery duel, then cut off infantry from attacking tanks and deal with everyone separately. Although, they more often would just maneuver a bit and avoid such hard spots, preferring to encircle them.
5 - lack of complete, re-organized air force. Means worse recon, less well defined targets for the artillery and even less effective artillery actions.
6 - lack of troops. Unexpectedly, but until 1943 the Germans were outnumbering the Soviets in most battles. They also utilized their mobile units to quickly appear in unexpected areas (that is how Kiev encirclement happened for example (5)) and to create an overwhelming superiority of men (6 to 1 and even more) and material (6th army for example could use 900 tons of shells per day against 400 tons for the Soviets) in the weakest spot. This was very much worsened initially because the Soviet divisions were forced to defend 40km wide front, whereas they should defend only 10km according to the combat manual. In places, where that front is narrower and the Soviets have better artillery support, we see much bigger casualties for the German side. Example - Sevastopol battles.
Commander incompetence as it is described in most articles is a myth or sometimes a deliberate lie. No commander, no matter how genius he was, could instantly turn the tables when facing such odds. However they did invent some clever ways to minimize their problems. But that usually was a workaround, not a solution.
(1) the Great Patriotic War is separated into 3 parts: 22.06.1941 — 11.1942;
11.1942 — 12.1943; 01.1944 — 9.05.1945.
(2) - table of Soviet losses estimated by various authors.
(3) - table of German losses estimated by various authors.
(4) - shell usage 1 shell usage 2 (c) Isaev. Couldn't find his original post, so this is a link to repost. Same numbers on higher a level for each year of the war. Average weight of artillery shell was 10kg for Soviets and 14kg for the Germans.
(5) - The Soviets didn't want to leave Kiev and there were no indications that they cannot hold. Kleist's 1st tank group made a march overnight that the Soviets considered impossible and its strike collapsed the defense of Kiev. This is a translated talk in the Stavka before that.