This was a hard decision for me, but eventually I settled with Triss. I tried Shani too, but just found myself loading the game and regretting the choice. First of all, I'd like to say something about Triss. As a powerful sorcereress, I think she would be involved in politics regardless of her choice. Although I believe she wants that position in society which gives her an influential edge with important people. Let's take Geralt as an example. He kills monsters, solves problems and hates meddling in politics (he hated that banquet in ch.3). Where does he find himself in ch. 5?
So, Triss made herself (as Geralt by being a witcher) known in society through her power as a sorceress. No wonder she uses that position in her advantage. Politics probably hardened her a bit, but that doesn't mean that she doesn't have feelings or that she wouldn't be a sufficient mother to Alvin. I think she would love Alvin as much as Shani. She can also teach him the ways of magic, which is very important because of his uncontrollable powers. What would Shani do if Alvin got very excited and accidentally popped himself into space? She'd probably come running to Triss, begging her to locate him. About that conversation with Triss and the mirror person, she told him that she promised not to reveal anything to him in exchange for information. I also felt a trust issue about that, but I don't think that she would hide anything crucial from Geralt. I apologise for this to all who chose Shani, but in contrast to Triss, she is a bit boring and all too "normal" for Geralt. (and she is slightly annoying) Until the Alvin situation she is very nice, but at that moment she reveals a more bitter and edgy personality. The sentence " Everyone knows she can't have children of her own and you gave her Alvin?! (or something like that)" really put off my perspective of Shani. So... Triss yay!
Right in King Foltest's chambers, taking on quests and playing poker with the king himself!