User is authenticated on the event Application_AuthenticateRequest event ref: http://msdn2.microsoft.com/en-us/library/ms993239.aspx, so use the logged-in user check whereever in the events after that. It's very early in the page life cycle, so you've got lots rooms to play.
Common practice or not for doing such inside Page_Load event is really depend what you wanted to do with the different state of the user's logged-in status. If you want to dynamically switch the nested master pages based on the status, you can only do it in the On_Init event.
In terms of how to apply it, here's a tutorial: http://msdn2.microsoft.com/en-us/library/ms972109.aspx