The problem with loading screens is that it is extremely hard to control how long they will take, which makes design challenging. Let's take your example of minigame - it's hard enough to design a game that's fun for a given time period, but it is very hard to design a game that's fun to play for 30 seconds and still fun to play for half an hour. And loads faster than your original game.
Because of this, it would be a waste of effort to design a make a good game and then stick it in the loading screen. If you can make a game that the player can get into in seconds, doesn't get old for ages, and takes no time to load - why not release it as a standalone game?
Moreover, your players are presumably people who wanted to play your game, which is why they clicked on "Marcel's Game". If they wanted to play Snake, they would have clicked on "Snake".
Your game would probably benefit more from you taking the time you spend on making a minigame and investing it into optimizing the loading time or otherwise improving your actual game (finding bugs) instead. But if it is already loading as optimally as possible, there are two reasonable solutions:
- Allow the users to multitask. If a desktop game, don't lock the computer out of alt-tabbing while you load. If a flash game, don't play un-mutable music while loading, preventing your users from watching videos while waiting. Do flash the taskbar or make a sound when loading is finished so they know when to come back. This way, if a user does want to play Snake or Tetris while waiting, they can just go and do so. If they want to read about lore, they can go on the wiki and read it. If they want to see strategy tips, they can go on the forums and read those.
- Provide content they cannot meaningfully access otherwise. In an RPG, you could allow them to organize their inventory and equipment sets. In an FPS, you could show them statistics such as accuracy. In a strategy game, you could show statistics about progress up to now (only works for loading saved games, though).
On the second point, the content you add must:
- Not be accessible outside of the game.
- Be accessible from inside the loaded game.
For instance, displaying something like your control scheme violates 1: If I needed to see the controls that often, I could just print them out and hang them on my wall (and your effort is better invested in a "Print" button in the settings screen, or putting the controls in your description if a flash game).
Adding hints violates 2: What if I see a useful hint, but the loading finishes too quickly for me to read all of it? Do I now have to sit there and force loading screens over and over to see it? Even if you add a "Press key to start" event when loading is done, what if I want to see hints more frequently than loading screens?
If you cannot come up with a useful function that is pertinent to the game, you are better off just putting a loading bar, and going with the first option of making it easy to multitask. If you really want to be thorough about it, actually output what part of the loading sequence the game is working on (which file, what % MB done, etc) so users can tell what is bottlenecking their performance, but this isn't very relevant for flash games.