1. Don't put too many parts in a single assembly file.  Instead create sub-assemblies each with a modest number of parts.  Combine sub-assemblies into higher level assemblies.  This approach reduces the number of assembly constraint in the Design Explorer at one level, reducing the likelihood of failed constraints.  The explorer will also be less cluttered. 
  2. Assembly Constraints - Align and Mate are the most used of the constraints available - (co-incident from v21)
  3. It can be very helpful when constraining a part (or sub-assembly) to right click on it and select 'show reference geometry'.  This reveals the reference geometry used when creating that item - this geometry can be used in addition to 3D solid features to constrain the item within the assembly.
  4. If your sub-assemblies have moving parts, you'll need to right click on sub-assembly name and set 'Make Flexible' for the sub-assembly, if you wish the parts to move within the main assembly.  Otherwise the sub-assembly is treated as a single rigid body.