> Every time the budget ends up being disappointing and about half my current income.
Protip: on the very first call, say “My current salary is XY. A competing offer is in your budget?”
Protip2: XY doesn’t have to be your actual salary, use a number that is your desired floor to start the negotiation from.