They weren't companions really per se but Zelda and Sarashahashalashahasha in LttP were done well. They gave you advice that was often useful, and you could just ignore the pads in the wall if you already knew the advice, so it never felt intrusive.
Navi was annoying. It's not like her advice wouldn't've been useful on a first run but when she stops the gameplay to tell you things you already know it's really grating. Once, Navi stopped me in Jabu Jabu's Belly to tell me that a certain switch was too heavy for me to press down by myself... while I was in midair, holding Ruto, about to land on the switch. That's pretty ridiculous. Luckily, excluding wallmasters, she shuts up at about the forest temple, leaving you be. She's not nearly as annoying as Kaepora, who has lengthy, unskippable walls of text while playing as child link (and if you weren't paying attention, you risked listening to them again!), especially whenever you tried to go somewhere you weren't supposed to. What they should've done is made Navi and Kaepora less intrusive and place more emphasis on Saria's Song, but oh well.
Tatl was the first companion with personality, and she was done well. She constantly harassed you during the first cycle, but that's fine, because fit well with the feeling of being rushed, and it would've been absolutely frustrating if you didn't know what to do considering you couldn't save yet. I liked her personality, yeah, she started off bratty but she slowly warmed to Link and she was certainly a lot more interesting than Navi.
KoRL was done well too. He was a much more major character than Tatl and he never felt intrusive (apart from maybe the beginning where he forces you to go to Dragon Roost and stay there till you're done). On the other hand, he didn't make me care about him - he just felt like a bog-standard character.
Ezlo was good - he had character and he was generally unobtrusive. He was so unobtrusive, though, I kinda forgot about him most of the time.
Midna... hmm. I used to like Midna, but after replaying TP recently I have a problem with her. I mean, on paper she could've been an interesting character (using Link for her own use, but slowly starting to care about him), but... the change is instant. She goes from not caring about Link to caring about Link instantly, and it kinda ruins her as a character. It was nice to see the companion have a larger impact on the gameplay, though.
I can't remember much about PH, so I can't comment there.
Zelda's done pretty well. She's got a lot of personality and she's never obtrusive, but the parts where you had to control Link and Zelda felt really awkward.
Fi's probably been the worst companion so far. She was incredibly intrusive, going out of her way to harass you about every little thing. She had such little personality, I mean, I understand what they were trying to do with Fi vs. Ghirahim but she felt out of place compared to the rest of the colourful cast in this game. And what was the point of her predicting a chance of something being right, when she was always right? I bet if you worked out the chance of her being right every time given her predictions, it would turn out to be tiny.