I think maybe the best and the most easy solution is option 2.

Astarion is horny enough to ask "Hey I am thinking of getting laid tonight. How about you?"

Player then chooses a companion, and then we can have a funny scene where he runs off to your person of interest and you know... its been a looong day.
I can totally see everybody, including Shadowheart who is the hardest nut to crack to say to themselves "Welp, why the hell not? We might die tomorrow so I might as well go for it."

And in Act 2 we can deal with the hilarious will they wont they repercussions.
I much prefer that sort of uncertainty that can have funny or drama potential than Shadowheart referring to my PC as her beloved in every dialogue or worse completely ignoring what happened between us.