Speaking from the candidate's perspective, I tend to avoid companies where money is discussed upfront. I want to be able to demonstrate the value I can add, and then have a negotiation about remuneration based on that value.
Bluntly, yes, it does put the candidate in a much stronger negotiating position but, hey, if you really want to hire good people then I'm afraid it's hard cheese. Conversely talking about remuneration upfront puts the candidate on the back foot because there's substantially less of a basis for convincing negotiation, so it really becomes about cutting costs for the company.
Unless you absolutely have to - sometimes you might not have any other option, and you shouldn't let pride blind you to that reality when you're facing it - I'd always recommend you avoid working for anyone where you've had to discuss money first.