Instead of relying on a specific distance, for this scenario I usually like to have a ratio of space. Ie. 5% space around the contents I center on. So that means that for large elements/layers, the distance is larger than for small ones.
You can easily accomplish that using the Expand method on Envelope:
MyMap.ZoomTo( myEnvelope.Expand(1.05) );
Note though that you might want to have a minimum size as well (for instance in case it's the envelope of a point it would be an infinitely small area)