Option 4 is kind of complicated, which is why I recommend doing one of the other options if possible. Long story short, the way Gen 7 games generate eggs isn’t random, so if you save before depositing parents in the day care, the game will generate the exact same eggs with the exact same nature, IV spreads, etc., in the exact same order each time you reset, even if you change the parents between resets.
For example, if you’re looking for a Dratini with an adamant nature, hatching Dratini until you get an adamant one is pretty difficult, since Dratini takes a long time to hatch. So instead, you can save the game before depositing anything in the day care, then take a Pokémon like Magikarp (which requires the least amount of steps to hatch) and breed that until you get an adamant one, while counting how many eggs it takes to get it. Once you get your adamant Magikarp, reset your game, deposit Dratini instead, then just say no to each egg the day care generates until you get to the adamant one. This way, you don’t have to hatch the non-adamant eggs first.
This explains it more in-depth:
https://m.imgur.com/a/YNabu