Summary: Rashi says it was either Hashem or Yaakov. What prompts the midrash, and how could one darshen this even as, contrariwise, one darshens the naming of Yishmael? The Levush HaOrah considers the question, and then I do too.
Post: Towards the beginning of parshas Toldos, we read these pesukim and Rashis:
|25. And the first one emerged ruddy; he was completely like a coat of hair, and they named him Esau.||כה. וַיֵּצֵא הָרִאשׁוֹן אַדְמוֹנִי כֻּלּוֹ כְּאַדֶּרֶת שֵׂעָר וַיִּקְרְאוּ שְׁמוֹ עֵשָׂו:|
|and they named him Esau: They all called him this because he was complete (עָשׂוּי) [lit., made,] and fully developed with hair, like one many years old.||ויקראו שמו עשו: הכל קראו לו כן, לפי שהיה נעשה ונגמר בשערו כבן שנים הרבה:|
|26. And afterwards, his brother emerged, and his hand was grasping Esau's heel, and he named him Jacob. Now Isaac was sixty years old when she gave birth to them.||כו. וְאַחֲרֵי כֵן יָצָא אָחִיו וְיָדוֹ אֹחֶזֶת בַּעֲקֵב עֵשָׂו וַיִּקְרָא שְׁמוֹ יַעֲקֹב וְיִצְחָק בֶּן שִׁשִּׁים שָׁנָה בְּלֶדֶת אֹתָם:|
|and he named him Jacob: The Holy One, blessed be He [gave him this name]. (He said, “You named your firstborn [i.e. this refers to those who named Esau (verse 25)]. I too will name My firstborn.” This is what is written: “and He named him Jacob”) (Mid. Tanchuma Shemoth 4). Another explanation: His father called him Jacob (יַעִקֹב) because of the holding of the heel (הֶעָקֵב). (Yerushalmi Ber. 1:6)||ויקרא שמו יעקב: הקב"ה. דבר אחר אביו קרא לו יעקב על שם אחיזת העקב:|
The Levush HaOrah, Rabbi Mordechai Yoffe (Prague 1530 - Posen 1612), writes:
And it appears to me that this is no question at all, for it is difficult to Rashi why it is different by the sons of Yaakov, whom were all named by their mothers there, e.g., 'and she called his name Reuven; and she called his name Shimon" and so for all of them. For it is well and good by Yishmael and Yitzchal that they were called such based on the Divine Statement, and so too for Levi. And afterwards as well. But here, why did Rivkah not call names to her sons based on the events which happened to her, with the struggling and the seeking the counsel from Hashem, just as Leah and Rachel did regarding to events of Reuven, that 'Elokim saw my suffering'; Yosef, 'Elokim has gathered in my shame', or 'Hashem should add for me another son', and so for all of them. Therefore, he explained by 'and they called his name Esav' that all of them called him such. That is to say, that others preempted in calling his this name, for as soon as others saw him, before she was able to call him a name, just as I write soon, they already called him this. Therefore it is not written 'and she called'.
And so too via 'and he called his name Yaakov', it is difficult to him as well, for it should have stated 'and she called'. Therefore he explains that Hakadosh Baruch Hu [did so], that is to say, this to was based on Divine Directive, just as Yishmael and Yitzchak.
[Rashi continues:] 'Another explanation, his father called him this based on the seizing of the heel'. That is to say, his father preceded her [Rivkah] in calling of this name, since he saw the seizing of the heel before she was able to call him a name, for certainly a woman sitting on the birthing stone is not able to call a name to the child immediately after the birth, because of the birth pangs which are yet upon her for some time after birth, and within that time, Yitzchak saw the seizing of the heel and called him based on this action, just as all [others] did regarding Esav."
End quote of Levush HaOrah.
My thoughts about this:
1) I don't know that Rashi is unable to cite midrashim which darshen in opposite ways. The midrashim themselves might not do so, independently, but Rashi is free to cite from the entire body of midrashic literature, even if individual midrashim conflict, and certainly if they each would simply implicitly not darshen the other.
2) Levi was indeed the only son named by his father, according to the standard Masoretic vocalization. Here is not the place to argue it, but I think Leah actually called Levi his name as well. Thus, in Bereishit 33, instead of:
|לד וַתַּהַר עוֹד, וַתֵּלֶד בֵּן, וַתֹּאמֶר עַתָּה הַפַּעַם יִלָּוֶה אִישִׁי אֵלַי, כִּי-יָלַדְתִּי לוֹ שְׁלֹשָׁה בָנִים; עַל-כֵּן קָרָא-שְׁמוֹ, לֵוִי.||34 And she conceived again, and bore a son; and said: 'Now this time will my husband be joined unto me, because I have borne him three sons.' Therefore was his name called Levi.|
read kar`a(h), קָרְאָה, with the heh omitted, as in naarah. Absence or presence of these endings was non-standardized.
3) As to why it would be Hashem who gave the name, the following factors might have influenced such an interpretation:
a) That by Esav, we are told 'they called', where 'they' might be both his parents.
b) That his name is meaningful in another sense, known only later:
|לו וַיֹּאמֶר הֲכִי קָרָא שְׁמוֹ יַעֲקֹב, וַיַּעְקְבֵנִי זֶה פַעֲמַיִם--אֶת-בְּכֹרָתִי לָקָח, וְהִנֵּה עַתָּה לָקַח בִּרְכָתִי; וַיֹּאמַר, הֲלֹא-אָצַלְתָּ לִּי בְּרָכָה.||36 And he said: 'Is not he rightly named Jacob? for he hath supplanted me these two times: he took away my birthright; and, behold, now he hath taken away my blessing.' And he said: 'Hast thou not reserved a blessing for me?'|
After all, Rashi relates the naming based on the heel only for the latter naming.
c) As mentioned, the names of Yitzchak and Yishmael were given by Hashem, even as there might seem to have been other direct causes. And the ambiguity of vayikra supports it.
4) But saying that a mother cannot name her child because of the birth pangs seems to contradict Ben-Oni / Binyamin, who was named in such a fashion. Though we could point to Tamar's twins for support:
I am not convinced, though, that the lack of the mother naming specifically is the impetus for this midrash, nor for the idea that the mother would be unable to give a name, and that the father would then preempt.
5) If anything, I am leaning towards the idea of Vayikra taking some sort of passive value, as a kal passive, 'his name was called'. I see that this is how mechon-mamre's translation (based on JPS) seems to be taking Vayikra, in general:
|כו וְאַחֲרֵי-כֵן יָצָא אָחִיו, וְיָדוֹ אֹחֶזֶת בַּעֲקֵב עֵשָׂו, וַיִּקְרָא שְׁמוֹ, יַעֲקֹב; וְיִצְחָק בֶּן-שִׁשִּׁים שָׁנָה, בְּלֶדֶת אֹתָם.||26 And after that came forth his brother, and his hand had hold on Esau's heel; and his name was called Jacob. And Isaac was threescore years old when she bore them.|
For an grammatical argument in favor of such an interpretation, see this:
Your friend seems to be unaware of the well-known grammatical
construction referred to as the indefinite personal subject. See the
discussion of this in the Gesenius-Kautzsch-Cowley Hebrew Grammar
(Oxford, 1910) § 144d (p. 460). Literally the Hebrew would be translated
as "One will call his name XXX," but most often translators render the verb
as a passive instead. The Gesenius-Kautzsch-Cowley grammar lists
Isa. 9:6  as one such case. So your friend is wrong in stating that the
active stem [Qal] of the verb "qara'" never is translated as a passive.
Here are some examples of where the Qal stem of the verb "qara'" [call]
is properly translated as though it were passive when it governs the word
"shem" [name] as its object, and has an indefinite personal subject.
where our pasuk is given as one such example of this phenomenon. Here is Gesenius's Hebrew Grammar, where he discusses just this case: