Stop buying Mediatek-based devices
Charging for Linux Kernel sources is piracy, regardless of who is being charged. MTKs policy just adds a level of abstraction. They are distributing the kernel, they need to provide source.
As much as the practice of charing for source code is despicable (and at the moment I feel nothing but meprise for MTK and for the manufacturer of my Star V1277 because they are the main obstacle that stands between me and a clean CyanogenMod port), it is perfectly legal. Nothing in the GPL requires distributors to distribute the source code *free of charge*. The expectation at the time of drafting the GPLv2 (1991, when most of the world was still disconnected or on slow dial-up) was that distributors would charge for media such as CD-ROM + shipping and handling. The advent of broadband internet has reduced distribution cost massively and while nowaday most reasonable people expect source code under the GPL to be downloadable free of charge, that expectation is not legally binding. You can make it legally binding by adding to the terms and condition of your GPL-released software a clause stating something like "source code must be made available for download on the internet free of charge".
MTK violates the GPL if it distributes binary code without making the source code available. Since it is the handset manufacturer that distribute the binaries (with the phone), it is them who we need to go after, not Mediatek. Making source code available for a fee is good enough to comply with the GPL. In a perfect world, they would be able to charge that fee only one time, because they cannot prevent the recipient from distributing the code further.
What bothers me is that device manufactures can get away with adding their proprietary drivers to the mix in a way that makes it impossible for Free Software developers to take the devices to the next level.
Bottom line: after two years of service, perfectly useful hardware is rendered useless by obsolete software that can't be easily replaced. Manufacturers have an interest in this kind of obsolence, because users have to buy new devices to stay protected. This was my first Mediatek based device and it will be the last until the availability of source code improves. Contrast that with the Google Nexus 5 that I recently bought for my wife. Not only Google has a good track record at providing binary upgrades for users who do not want to deal with the details: it took me less time to roll my own modified Nexus 5 build, clean from source code, than it has taken me researching the sad state of affaire with Mediatek-based devices. Even if Google's devices cost double as Mediatek-based ones, their lifespan is more than double because of manufacturer support and maintenance and source code availability to empower users to self-support and extend device life as reasonably as it can be extended.