Good practices (all personal opinions):
-In my opinion, it's best to use a small amount of object types. For example, there's no need to have a 'tree' and 'rock' object if they have an identical function.
-Don't use a behavior if you don't use all or most of its features. It will be more efficient to code it out manually.
-Use 'Every X seconds' sparingly. Timer variables are more easily controlled.
-Have your layer setup fleshed out before making the first level of a game with many layouts. It's incredibly boring to mirror layer changes across 50+ levels. (@Ashley this seems something the engine could well improve upon.)
-Put all your code into groups, unless you love scrolling.
-Resize graphics within C2 to as small a size as possible, otherwise you are wasting RAM.