One thing I've always found very useful in both C2 and CC, and something I commonly do when I code, is exploit the Event Cycle. That is writing code that take advantage of the fact that nothing gets drawn on screen until all the events are done and that said events are always executed top to bottom. For example,
If you write an event like this
Every tick set Object Y to Self.Y+8
And lower/later in the event sheet write an event like this
Every tick set Object Y to Self.Y-8
Then the player won't see anything change on screen BUT everything in between those two events will act like the object is 8 pixels lower on screen then it appears (and you can also do it with other things like disabling and re-enabling collisions, so collision events in-between ignore certain objects). This can be super useful when dealing with plugins and behaviors that have limitations like a lack of precise origin placement (Most non-sprite objects) or object picking (Custom Movement's "Push Out Solid" Command), or want objects to be in different states at different points in a tick (Like increasing enemy sizes, and thus collision areas, when dealing with their collisions against each other, but otherwise want them to be normal sized).
And of course you can turn this inside out so things on the outside (Including the player and I think behaviors) see the change and things on the inside don't.