Greater Invisibility also gives you an advantage, but like Darkness and Shadow of Moil, this is a concentration spell so that you can't cast Hex which means you do without that 1d6 necrotic extra damage on every blast which is not worth it.
It is worth it.
level 12.
Eldrich Blast, 20 Cha, Agonizing Blast (31.5 damage, .65 to hit)
= 20.475
+advantage (.8775)
= 27.64125
+Elven accuracy (.957125 to hit)
= 30.1494375
+ hex (42 damage).
= 27.3
You not only do more damage, you also get a big defense boost with darkness.
Greater invisibility is also good, but only available to fey, and at level 7 instead of 3.
additionally, Darkness also affects your fellow party members in melee and the zone of darkness can often be easily left.
Not being able to see usually goes both ways. So other party members get both advantage (enemey can't see them) and disadvantage (they can't see the enemy). This means all attacks are normal.
Also, most warlocks will stand in the back.
Though yes, in some parties i could be a problem. Such as if you are a hexblade, and your ally casts spells that they need to see the target.
But shadows of moil still works.
And finally, these consume one of your scarce spell slots and don't last very long, effectively for one fight, or even shorter if you are hit and miss the CON check. This rules out the first two options.
The only spell that lasts more than 1 fight is hex. And that is even easier to disrupt since enemies can hit you easier.
And warlock spells recharge on a short rest, which is usually enough 1 spell each fight.
But yes, sometimes you will want to cast another spell instead. Hex still has the advantage of being a bonus action to cast, in case you get suprised. Or possibly greater invisbility on the fighter instead.
As for foresight: Yes, you can choose this as your Mystic Arcanum on level 17 if you have come that far. The problem is: you can cast it once per day for 8 hours. What are you doing the rest of the time? Plus, this spell has a casting time of 1 minute, so it must be cast in advance and cannot be cast when the battle starts.
8 hours is long enough to last most days.
And you still have shadows of moil if neccicaray.
So, if you raised CHA to 20 at level 12, you actually can take this on your ability score improvement on level 16, but that is a far way to go if you ever come that far. And in that case you will have fellow party members that inflict a lot more damage than you.
You generally take elven accuracy at 4.
For instance, a half-elf with 15 Cha from point buy, +2 from racial = 17. Then add +1 from elven accuracy and your at 18.
Then level 8 you boost Cha to 20.