So, without further ado (please beware that there are spoilers for the end within):
I must admit that I find the shipping fandom of Code Geass highly amusing. I see people fighting for the idea that Karen was Lelouch's intended girl, or that CC was, or that Milly was. I think that the answer, when one steps back and looks at the work as a whole rather than through shipping glasses, becomes perfectly clear.
Lelouch has relationships with three main women (excluding his obvious love for his dear sisters Euphemia and Nunnally--I do not support EuphiexLelouch mostly because I'm an avid EuphiexSuzaku supporter ;D). He has feelings for all three of these women, although these feelings are, for the most part, ambiguous. These girls are of course CC, Karen, and Shirley.
Thematically speaking, there is only one girl who is Lelouch's "true love". Only one has enough impact on his life (disregarding almost kisses or hand touches or physical moments that are prevalent in the other two pairing choices) to help him change his outlook on his actions and the things he's received.
I look at the girls quite simply. Each one "represents" an aspect of life, much as Charles, Schneizel, and Lelouch do. CC is the past. Her character is entirely geared toward "the past"--it is her greatest hurdle as a character, one that she must overcome (and does so by the end, through Lelouch). Karen is the present. Her character is geared entirely toward "what is happening now"--this is embodied in her inability to see through Lelouch (not for the lack of trying) and her inability to look past the immediate present, which is the largest hurdle for her character to overcome. She, like CC, does so in the end, because Lelouch teaches both of them the meaning of "the future".
Only one girl is the future. That girl is Shirley.
Shirley represents not only this very integral part of Geass and Lelouch's philosophy. She also represents other aspects.
Lelouch's wish, to "return to Ashford with everyone and watch fireworks next time", stems directly from Shirley's own wish, which she placed in a blue crane, to watch the fireworks with everyone. Lelouch takes Shirley's wish as his own in Turn 7 of R2. This is the first glimmer of Lelouch's new idea that "everyone strives for happiness" and "I want a tomorrow".
Shirley helps him realize another key part of his later philosophy during his reign as the tyrant Lelouch. In Turn 11 of R2, it is her words that make him realize that "a person's will can change the world", which resolves itself directly into Lelouch bearing all people's hatred on his shoulders in order to change the world at the end of the series. It also is shown in his arguments against Schneizel and Charles--that people have the right to decide the future for themselves (and thus why he fights the "forced honesty" of Charles and the "forced peace" of Schneizel in favor of people determining their own peace and happiness). Had Shirley not brought this epiphany to light for him in Turn 11, we might never have seen the Lelouch that exists at the end of R2.
She further pushes these themes by bringing up another integral theme of Geass--that of "there is nothing that cannot be forgiven". This plays directly into Lelouch's ability to move forward and his return to friendship with Suzaku.
Shirley, above all the people in Lelouch's life, embodies his new ideals of "striving for happiness" and "wanting the future".
When Lelouch loses Shirley in Turn 13, he loses his own future. Shirley, the symbolic representation of his future, is lost to him. This comes into play at the end of R2 as well. It is interesting to note that in Turn 19, Lelouch specifically tells Rolo he "has nothing to live for", despite the fact that both CC (representative of "the past") and Karen (representative of "the present") are both still alive.
It is not until Lelouch realizes he's lived a lie (fighting for a mother who was never truly dead to begin with, and who had abandoned him) that he realizes there is one last thing he can do.
The Zero Requiem.
Lelouch, who has lost his own future, decides to work with Suzaku in order to ensure that everyone else will be able to enjoy the future.
Thus, his death enables Karen, who was entrenched in the present, to accept the future and CC, who was entrenched in the past, to walk forward with a future.
Lelouch, thematically, could never have been with Karen or CC, just as he could never have agreed with Schniezel or Charles. This is one of the main reasons why Euphie (who had the same message as Shirley in the first season) was also effective against Lelouch. Lelouch's goal was "tomorrow", and only Shirley could have provided him with that.
Thus, at the end of Code Geass, I am content that Shirley was the girl of Lelouch's heart, and that his change in mindset and his growth as a character stemmed directly from her words and her death and her life. It is fitting for the girl who died when she, of all the characters, had never done a single thing wrong, and the girl who did not get a happy ending while everyone else did.
I do want to mention, as an aside, that I was incredibly happy when Lelouch had his final flash of memories that Shirley was the only one shown out of chronological order, and that she was the first to appear in his mind and that during the scene in Turn 24 her death scene and Lelouch's presence were the first things he thought of when he thought of "those wishing for tomorrow". These, along with her embodiment of the main themes of his final days and the amount of care he was actually shown to visibly reciprocate in the relationship (she is the only one he said he liked verbally, as well as the only one he jumped off a building and threw himself in danger for), are more than enough to make me a very content LelouchxShirley fan in the end.
I wish them a happy rest, and that they might be reunited together in their next reincarnation in a peaceful world that they both wished for.
Thank you, everyone who decides to read through this (rather lengthy) post. My apologies to all of you who are also fans of the other pairing choices for Lelouch--my intent is not to slight them or the lovely scenes they are in, but rather to show why Shirley is really the primary choice. :)