Control chars are in-band signalling. This is always "bad", but sometimes it's all you have. Certainly back in the early days of wired serial connections, that was the case.
So if you have in-band signalling, you need a method to generate those signals. I don't think there was any other viable way to solve this problem, and honestly it has worked almost flawlessly.
Of course Microsoft is a big exception, but that could hardly have been predicted 20 years earlier.
So your entire point is that control characters are still good because they were a good solution to a problem that only existed 20-30 years ago? I'm not convinced.
My point here is that we are so steeped into tradition that usability suffers.
I really don't think that's true. It's not tradition, it's practicality -- control characters are good because they are established, standardized, and work perfectly to solve an ongoing need.
In-band signalling is inherently a bit of an architectural challenge. But the problem is solved. The entire internet is run on in-band signalling! We're going on 35 years for TCP/IP, and more like 50 for ASCII control chars. They work very, very well.
Yes, Microsoft broke control character generation for users of their OS, but that's a compartmentalized failure, and easily avoided. The Ctrl+Shift GUI workaround in Windows (and copied in Linux) is not elegant. But any alternative without control chars would be a total loss of functionality.
Ctrl+C being broken by Copy is a trivial example. There's a whole alphabet of control chars (in fact there are 32), and we all use more of them than most people realize[0]. Some have dedicated keys on the keyboard (backspace, return), but obviously not all of them.
I use about a dozen control characters regularly. This is not unusual for someone who works closely with server operating systems.
[0] I'm not sure how to gauge your knowledge of communication signalling or protocols, so I apologize if I'm being pedantic. It sounds like you have ideas about alternatives (and this is interesting to me), so I am curious about any specifics you can share or link to.
So if you have in-band signalling, you need a method to generate those signals. I don't think there was any other viable way to solve this problem, and honestly it has worked almost flawlessly.
Of course Microsoft is a big exception, but that could hardly have been predicted 20 years earlier.