Then when Microchip moves to fully proprietary pay-only software with onerous EULAs I will know who to blame.
Blame? That would be very positive.
XC8 is proprietary - it works well given the CPU. MPLAB 8 was proprietary - worked great by my opinion.
XC16 and XC32 are leveraged. XC32 is good because GCC already had implementation for MIPS. But if you look at the Microchip's part - e.g. interrupt prologues/epilogues etc - these are not highly optimized. Neither is XC16 - it doesn't really produce highly optimized code because GCC doesn't have direct support for their CPU (Microchip had to do it by themselves). Microchip is MPLAB X is leveraged, you know how it works ...
Looking at these examples, I am all for proprietary.
If you want either XC16 or XC32 compiler you can simply compile from the source. Moreover, if you have any difficulties doing so, Microchip will help you. The full source code is published and may be downloaded. Microchip is not cheating here. Or, you can buy the pre-compiled version. For most people, it is easier to spend money than to compile, so the vast majority will buy it instead of compiling. Others (me for example) will use the free version which is perfectly perfect for most practical purposes.
This is how the market works. However, this is not an indication that Microchip has put lots of efforts into these compilers. That's the opposite. They used open source GCC for the exact purpose of not spending efforts on the development. And people who buy non-free version don't pay for the Microchip's development effort. If you read the license, the payment is mostly for the on-going support.