Unfortunately it's hard or impossible to guess a reasonable mesh parameter a priori. The typical approach is to start with some value and solve the problem. Next you pick a smaller value and compare the results. If the results differ a lot then you pick yet another smaller value and compare again.
Ultimately you end up with a small enough mesh parameter which seems to provide reasonable approximations to the original problem. It's always up to the user to decide what is 'reasonable'.
For simple problems you may be able to reduce the mesh parameter such that all further changes can be neglected up to the machine floating point precision. For three-dimensional problems you rarely can use such accuracy due to limited resources.
For some particular methods you can derive a strict upper bound to the error a posteriori using so called hypercircle estimate. Then you can decide your maximum error tolerance beforehands and 'refine' (reduce the mesh parameter) as long as this tolerance is obtained. This however is not yet used in many practical applications as far as I know.