What simple nudges or rules actually get engineers to give realistic availability? Real tactics, please, such as calendar gating, lightweight approvals, or something else?
I am probably wrong, but my experience tells me that teams affected by that are usually those with a "bus factor"[1] problem.
Estimation in engineering is famously hard to solve. Maybe the best answer is - don't.
So if you have planned meeting in a week, group them (but not all of them on a single day either) and mark that day as unavailable. That usually already reduces a week of work to 4 days.
Then it's usually more on the longer term, but you (well, each dev actually) may benchmark continuously previous estimates against reality, so that they can understand their bias over time.
2/ do delegate approvals with a few basic rules: have a (short) rationale written down for each decision taken without a n+1 request; should be reversible if it's important.
3/ how long are your sprints usually?
Tell them you’re “hedging.”
Get the feel for that and reappraise.
And yes, if devs are off for a few days, do some arithmetic to shrink the expected velocity by whatever ratio of time you have missing people.