My opinion:
Sonic can absolutely have friends, both playable and non-playable. But in both cases there are a few things to be kept in mind.
For playable characters, they should all play under a similar template as Sonic. That is, they shouldn't be in a giant mech or run really slow or anything like that. Basically they should all be like how Tails and Knuckles are in S3&K, or even how the different characters in Super Mario 3D World are - varying stats like run speed (nobody should be super slow but in S3&K for example, Knuckles ran slower than Sonic and also didn't jump as high) and they all have a unique ability or two, but still work under the same general template. There is actually a 3D Sonic fan-game called "Sonic World" that does a good job of this. IIRC it has 20+ playable characters and more get added, but everyone fits under the same general template. There can also be certain objects that only certain characters can pass, like walls that only Knuckles can break down, for example.
The second thing about making other characters playable, is that they shouldn't feel strictly better than Sonic. Sonic shouldn't be "basic" with no special ability of his own, and other characters just feel better than him. Mario has always had this flaw in his own series, and pretty much nobody picks Mario in games like 3D World if they can help it, because he has nothing special and other characters like Luigi and Rosalina feel strictly better than him. For one, Sonic should have the fastest top speed, with only characters like Shadow, Blaze, or Metal Sonic matching him. And then he needs a special ability. IMO, I think the parkour or Sonic Boost make the most sense for Sonic's special ability. Sonic Boost is self-explanatory, but it also makes the idea of having a Spin Dash redundant. I think the parkour makes sense for Sonic as it provides him with a way to get to higher areas like Tails and Knuckles, but it's more tricky, though could be faster than simply flying with Tails or climbing the wall with Knuckles, if Sonic hits the wall with a lot of momentum.
If they DO want to implement an alternate gameplay style though, then the game can't go Sonic '06 mode and have 10 different characters each with their own gameplay style. They have to be two distinctly robust, polished gameplay styles, which I feel Unleashed achieved for the most part with the Werehog being the alternate style. Say what you will about the Werehog, but regardless of whether or not you liked it, it was polished (it had it's flaws of course, but it was mostly a complete formula IMO). If they did, for example, a Sonic Unleashed 2, they could have the daytime stages be Sonic and Tails. Sonic can boost, Tails has a flight meter instead. Nighttime stages would be Werehog and Knuckles, and the Werehog has more wide attacks and the stretchy arms, but Knuckles has direct attacks and the glide for getting through platforming. So while we have four characters, we only have two, fleshed out gameplay styles with the extra character in both cases serving for a little bit of a different flavour.
As for non-playable friends, I will disagree with Chip being a bad example. Chip did not steal the spotlight from Sonic in Unleashed. He helped out by being the Omachao replacement for most of the game, and then at the end, his true purpose was revealed and he got a bit more active, but he still could not have fulfilled his purpose without Sonic. Sonic Unleashed admittedly has a very "empty" middle in terms of the core plot, so Chip barely plays into things unless you feed him food and what not. And Sonic teaches him so much about life in general, and likewise, Sonic ends up learning a bit more about himself. Sonic and Chip had a very symbiotic relationship in Unleashed which was a nice way to handle a non-playable main character to serve alongside Sonic.