How do I better play nice with weights, when overriding a form? I'm attempting to use the Constant Contact module.
One of the features of this module is that it inserts a check-box into the user registration form. The problem is that it seems to set weights in a way that it interferers with my own  implementation of hook_form_alter(), on the registration form. The field order is a mess now: the field for the confirmation of the email address is now the first one.

The Constant Contact module is specifying a weight for the checkbox:

'#weight' =&gt; 11,


My implementation of hook_form_alter(), just left my new form element weights blank. I could just massage my functions form weights such that it didn't have the fields out of order, but then I risk to do it again the next time I need to add something to the form or use another module that does likewise.

Is there a 'best practice' way to handle form weights assuming multiple override sources?
The only thing I usually do and can recommend is to leave "gaps" between your weigts. So instead of 1, 2, 3, 4, 5 or so, I use for example 5, 10, 15, 20, 25.

The idea is that it makes it easier for other modules to move a field to a different place, or move new fields in-between.