Meanwhile you also have to take into consideration the fact that OS upgrade sales haven't been a significant portion of Microsoft's income in quite some time. New PC sales, Enterprise sales, and Office sales have become such a cash cow for Microsoft that selling OS upgrades every 3-5 years was a one-quarter blip on Microsoft's financial sheets. Sure they made some easy money, but it was never all that great. So the loss to Microsoft for giving away updates is not all that great either.
It's also important to keep in mind Microsoft's grand plan, which is to leverage Windows across phones, tablets, PCs, and even the XB1 in order to capture a greater share of the latter 3 markets. That plan only works if the largest Windows user base (PCs) is capable of running universal applications, and PC users are not going to be in a rush to upgrade if they have to pay for it. Which is why Microsoft is willing to eat the loss on upgrade sales now in order to get the PC users up to Win10, and in the long run that greatly increases their chances of taking a larger piece of the mobile pie.