So let's say instead of trying to 'create a consistent experience,' Twitter charged users $10/yr to use 3rd party clients. The idea being when you try to auth against a client, Twitter checks to see whether you're activated for offsite tweeting. You can't compose messages, RT or receive/send DMs without authing in, and a 3rd party client that lacks the ability to send Tweets likely wouldn't gain much traction, so don't worry about their read access of the API.
Furthermore, the people who use 3rd party clients are likely powerusers who perhaps are less likely to click on Promoted Tweets (if you follow the general web rule that the more sophisticated users interact with ads the least).
What do you think - instead of eliminating 3rd party clients, what about asking users to pay?
(if it wasn't clear, I would pay this - i use 3rd party apps along w Twitter's own apps)
via @geoffstearns: interesting, but the devil is in the definition of "client"
A: Anything that 'writes' (tweet, RT, DM). Allow for "free" read access & official implementations of Tweet buttons, oAuth ID