Since both #2 and #3 have been used by companies, clearly #3 can't be the "only practical way".
> > Your game designer works for a year and invents 7 games. At the end of the year, she sues you, claiming that she owns 4 of them, because those particular games were invented between 5pm and 9am, when she wasn’t on duty.
This is a terrible example. If the game designer delivers you 7 games during the year, that's a pretty clear indication that they are for you and are works for hire under the contract.
Also, if you are hiring her for game design, then off hours, she can't design games, because that is directly competitive. She can, however, design software that manages greenhouses. And that is as it should be.
If there are any games she designed on her own time that she doesn't want to be yours, she wouldn't have given them to you. If she kept one, launched it herself, and made a ton of money, you would probably have a claim. But she has no claim to games she gave you.
[Could she still sue? Sure, every example can be made into some court case with a possible terrible outcome -- that's called life. But this is not a realistic problem.]