This wont help with the loading times, but i read a trick somewhere someone suggested about waiting for the game to be "playable" before going to the layout.
Basically you add a check that watches the frame rate of the game. (while its loading its going to be really low), but once everything is loaded and the game starts to run smoothly, THEN you hide the fake 100% loading screen.
So its loading everything behind it, and only once its ready to play smoothly you show the player the game and begin.