The original tutorial recommends creating a transparent playerBox to handle collisions.
It's still a preferred method. You can position Player sprite to playerBox on every tick, or pin it once on start of the layout. The only problem with Pin is that it updates player position at the end of the tick. So, for example, if you are using image points on Player sprite to spawn bullets or to attach weapons, with Pin there may be a small lagging effect.
an issue where the enemies don't collide properly with the edge barrier and end up falling to the bottom of the screen
This may happen if the enemy's collision polygon is not symmetrical (relatively to its Origin point), or if it has animation playing with different collision polygons. What happens in this case is the enemy collides with the barrier, turns, collides again and turns again.
See this file demonstrating the issue:
dropbox.com/s/ac9suehzb8pcowy/PlatformEnemies.c3p