You can avoid these problems by making your extensions to the native prototypes as non-enumerable:
Object.defineProperty(Object.prototype, 'myVeryGreatFunction',{
value : function() {},
enumerable : false
});
Object.defineProperty
documentation on MDN
As Jan Dvorak mentioned, this solution does not work for old browsers (IE8-).