Earlier quoted context omitted.
How do you propose they fix it? Integrating with the infrastructure of every carrier to detect when a not-iPhone is activated on a line previously occupied by an iPhone is probably expensive and invasive to carriers. Also you don't have to call tech support. You can deregister iMessage from Settings (by turning it off) before you activate a new phone.
The issue is a) communicating that to users. and b) Even if you know that, if your phone breaks and you revert to an older phone or a cheap android to tide you over... you didn't get a chance to sign out. I'd say the problem is they're keeping you signed in for too long. If my phone doesn't check in for 24 hours, shouldn't it un-register me at least until I next check in?
Apple: Broken by design, broken at inception.