Companions are a pet peeve of mine. The problem is that you can't force them into a player's party. Remember what's-her-face-the-farm-girl from NWN2? People threw a hissy fit because of her. That complicates things obviously. The best companions are from MotB and KotOR2. In KotOR2 Kreia WAS the story, while in MotB the story actually started and could proceed because of the actions of your companions (Imoen getting kidnapped doesn't count as *her* action). You couldn't have assaulted the Fugue Plane if Kaelyn hadn't gathered an army before that. The story wouldn't even start if Safiya didn't exist and you couldn't get the best ending without Gann's involvement. THOSE are good companions, not random people who you just meet for no particular reason. You could also totally ignore them, if you so desire. The story should move because you and the people around you (i.e. companions) move it, not because the universe decides you are its chew toy du jour. All the elements and characters being part of the story is what (good) writing is all about. It's an accomplishment if you can do it. I actually threw a tantrum over at the Obsidian forums because the characters were nobodies and had no involvement/connection to the plot.
About you making your own characters - giving more option is always good, so go wild. Some people don't feel schizophrenic debating,talking and sharing opinions with themselves :p