I think a better way would to just..make them obtainable in ways other than ONLY raids. But not necessarily from the shop either.
And lets face it....we may as well just say tier 4 raids and above, because the odds of getting a TM from a tier 2 raid for example, seems very....very low, almost to the point where it seems pointless to even consider one. (It can even take ages just to get one from Legendary raids at times.)
Making them rarely drop from pokestops, would be a start I think. Give them similar treatment to Evolution Items.
Maybe also give a higher chance on the 7th spin, not so they are guaranteed like the evo item, but a higher chance of getting one... perhaps 20%, 40%, who knows.
Atleast then it will feel like we have a chance atleast of getting hold of one, other than only from a raid reward.
And it would give players who dont/cant beat raids, hope of also being able to get some TM's if they try...eventually they will atleast get some and be able to use them on their very best pokemon.
I think..if they made them purchasable, people who are willing to spend real money on the game, would have access to an infinite amount of TM's....
this is pretty much getting as close to pay to win as possible atm I think.
They could put some sort of limit on them....maybe you can buy just one within a certain time period, a week, two weeks, and maybe that would work ok.
But yeah....just allow them to drop from Pokestops I think is the best thing they could do with them atm.