In the end there's probably no right way to do it. If you give a date and miss it, people will complain that you've missed it, if you calculate too much time, people will complain right away why they should wait this long, if you don't give any date at all, like DC from SS, people will complain why there's no date and if you provide progress trackers, they'll complain about the content of those and why item x takes this long. I'd guess as soon as one has got a huge playerbase there's no real way to avoid complaints. Somebody will always be salty for one reason or the other. I personally haven't really figured out which way actually causes the least drama.