The usual solution, historically, it to provide different levels of service based on your account type. The couple of times I've worked somewhere that the admins had a disjointed set of servers from the users was really a huge stress relief. You want admins to 'see' what the user sees, but to be able to work even if the site is being DOS'ed. And ideally you want users to be able to use the site even if the admins manage to DOS themselves (admin functions tend to have a higher fanout than end user functions, so the danger of catastrophic fanout is always higher).
You should be allowed to create your own client for any service you want, that is customized to your input needs.
Why not? If it's a niche client not many people use such false positive would be rare. Also such people probably don't have huge audirnce and they and their audiences won't care.
And it might be deterrent against people trying to build popular alternative client that might compete with main twitter app.
I don't think aiming for 100% accurate label is on the table.
That's horrible for users.
Twitter's iOS app is a third-party app they bought because it was so much better than their own at the time. https://en.wikipedia.org/wiki/Tweetie
The real danger of opening the API and marking all tweets made through API as BOT is that this label looses impact if some alternative client that uses API raises to prominence.
I'd say that current setup where users have no indication that something might have been posted by bot is way more horrible.