This is hard for me to decide but I think i prefer Midna.
In OoT Navi did a wonderful job of giving hints, enemy info and it was so cute when she asked 'Then do you want to talk to me?' if you said no to talking to Saria. I always said yes because she was just too cute. And also being so young at the time of playing it i was blown away that Navi talked, granted it was only three or four words but i still loved it, it humanised her and made her so friendly, at least for me.
While Midna didn't have any character information to give during battle, her powers really did help the game feel unique in wolf mode, transporting objects, jumping, and lifting very heavy things made TP feel more interactive to me than any other Zelda game before it, it was nice to have such power. Midna's story was also wonderful, it wasn't new to have your companion play a bigger part in the story we had already kind of had that with the King of Red Lions, but Midna's story was wonderful, and her small little nuances as the game progressed were subtle enough to mark a change in her personality without being blunt, replaying TP knowing what and who Midna is also brought a fresh and deeper level to the game which i loved. There were so many special moments with Midna too, such as running to visit Zelda with her near death on your back.
and Midna's true form is so gorgeous =]