>> What are some strategies to deal with this beyond picking a hyper specialization?
Well, stop thinking about it. Not only it is depressing but it is also seriously wrong.
I've been hearing that since before I started. Not only did it never happen, but it's getting more unlikely to happen every day.
It's not possible to commoditize something that 99.xxx% of people are unwilling and/or unable to do.
Yes, most people simply don't want to sit at a computer all day and/or don't have what it takes to be a decent programmer. And everyday the barrier to entry is getting a bit harder with more tools and more technologies and more abstractions appearing, each adding a bit more complexity over the precedent.
If anything, look around you and watch the race to the top for the few who can follow. There are entire companies in our industry which exist to attract and bread the best and the brightest.
---
Now, I can understand why some people would be afraid of a commodity market.
Somewhere in the world, there will ALWAYS be a guy who only has $10 to pay for whatever thing he wants done AND there will ALWAYS be a guy that will offer to do the job for that price.
That first guy will always accept the offer because he has no seemingly better alternative and he'll just burn the money hoping to get something in return. (note: ain't gonna happen. You just don't get anything real for $10).
The point being: Just because there are some guys with no money and some guys who are screwing them. That doesn't mean that it's a "commodity market", let's just call that a "scam market".
Anyone serious who wants to get the job done or anyone who can get the job done will simply NOT participate in this scam market. When we're talking real work, there is simply no commodity market whatsoever (in our field).