Is this right: I'd say you've been smoking for years.
Is the tense okay here? It is a conversational.
Unless you're not guessing that he/she is a smoker or not, "would" would sound a bit odd.
At first glance, it did seem a bit odd to me too. But I paused for a second and thought that it would be the right thing to say in a particular context:
P1: Quit smoking! It's not good for your health!
P2: Oh, come on, I've been smoking only for a couple of weeks!
P1: A couple of weeks?!? I'd say you've been smoking for years!!