Respecing companions could prove problematic depending on how ingrained their story is dependant upon them being a certain class, race, backstory, ideal, bond and flaw are.
Personally, I like my NPCs to be one-dimensional and plenty. Rather than having like 8 NPCs with complete backstories and quests. A system like that usually leads to you bringing the exact same characters with you, because how many of those 8 are healers? Probably 2, so you have the "good" healer or the "evil" healer in your party, every playthrough.
The OG Baldurs Gate wasnt without its flaws though, mainly that you encounter alot of NPCs too late in the game. And also some of them were just horribly bad. But you wanted Tiax in your party because of his personality, not his skills. And to be honest, if Tiax had a dramatic backstory full with conflicts and things that needed to be resolved (by you) he wouldnt be as compelling. I just know he's a megalomaniac. Just as I know Edwin is a narcissist who (thinks he) uses me as a pawn.
Ideally, have fleshed out 3D characters and ALSO plenty. You meet them all in the 1st act of the game (with a couple of exceptions). But I dont think thats realistic.