The other way to solve this problem would be to install a shorter campaign or campaigns, 41 to March 42, 41 - March 43 and 41 - March 44. Players would be much more likely to finish a game.
This would not be a solution for me, I don't really want to play any scenarios that end with anything other than the "end of the war". I think the fact that so many games end so early is due to the fact that if the Germans do not have a smashing success in 1941, they will "lose", and if they do have a smashing success in 1941, the Sovs will probably lose on points, so the "losing" side simply resigns. I also think that many of the AARs which ended early were due to blizzard issues which may now be fixed...
I do think it would be helpful in such cases to be able to determine somehow who "won". Probably by territory occupied, as Tarhunnas is working on. For instance if the game ends in July 1942 and the Germans hold x, y, or z% more population points than the historical Germans, they could win a marginal, decisive, or total victory, etc. Doesn't matter if it is not 100% right, as it will be better than what we have now, which is nothing.