It's basically impossible to guarantee a transaction occurs in a given block. There's too many factors--network latency, the block gas limit, uncles, miners who mine empty blocks, other transactions, etc. Chances are, by the time you're actually looking at block X, it's too late to get in block X+1, since a miner may have already decided what transactions to mine.
Technically, you could write a contract that only relays a transaction if the block number is right. This is unlikely to help you, as it will increase gas use in that transaction and therefore make it more difficult to actually get in that specific block.
It's also unlikely that you can get the first block after a crowdsale in general, because the specific block of the sale contract being created is also unknown. It's quite possible that, as a large contract, it won't fit and it will be delayed until the blocks aren't so full. The existence of the crowdsale contract could be checked by another contract, but again, this might not actually help you.
OK, but what do you actually do?
A higher gas won't help. It's how many steps, at most, the transaction will pay for. A higher gas price will give your transaction priority over others. The cost for a transaction is (gasUsed * gasPrice) wei, and one ETH is 10^18 wei. Note that no matter how much gas is specified, you only pay for how much you use.
Timing-wise, I'd just wait until the contract is ready, then send the transaction. There's not much use in trying to get it exact as soon as possible, since you probably can't.
If you're sending the ether to an EOA (externally-owned account, not a contract), then the gas used will always be 21000 gas, so it makes it easy to properly send the maximum. (I've personally done this a few times when consolidating accounts and gotten to exactly a 0 balance.)
If you're sending ether to a contract, it's usually still possible to get the gas exactly right. There's a JSON-RPC method eth_estimateGas
which simulates the transaction you're about to make and returns the amount of gas used. I would expect MetaMask to use that value as the gas limit by default, but I'm not sure. Unless the contract consumes a different amount of gas based on some mutable state (and that state changes before your transaction gets mined), this should be exactly the amount of gas your actual transaction uses.
I would guess that MEW's "send max" sends the maximum you can assuming that the full gas limit is reached. So if your gas limit is set higher than the actual gas consumed, then there will be a little ether left over.
You're right that when in doubt, it's probably better to slightly overestimate the amount of gas you need (setting a slightly high gas limit) and then just write off the leftover ether.
Best Answer
The gas limit should be as high as your transaction will consume, and no higher. The amount of gas a transaction consumes depends on what it does. (Bear in mind that if your transaction results in gas refunds, for example because it deletes storage data, you still need to account for it in the gas you supply.)
Most miners will fill blocks up to the limit, and it's OK to set a limit that takes close to or all the gas available in a block, but since miners take transactions with higher fees first, this will increase the gas level you will need to set to outbid other transactions that could fit in the block. So you will need to compensate for the higher gas limit by setting a higher gas price. See https://ethgasstation.info/ for specific data on how high a gas price you are likely to need for any given gas limit.
If you're just doing a simple send, just use 21,000.