I like both Katia and Bruno, but if I had to choose it would be Bruno.
Bruno has crafting bonuses for Moonshine -> Pure Alcohol. Then there is the 1/2 cost to Medications. He makes it worthwhile to trade alcohol to Bojan @ the Military Outpost, and Medications to Matey @ the Garage. If not needed for cooking that day, I can shelp him off to help neighbors. His cooking bonus doesn't seem to apply with the 2x meals (with vegetables) at the Improved Stove but his trait may still be useful if Vegetables are scarce or if the player still has the simple stove for some reason.
Well it has been almost a year and the game has changed some. Bruno no longer gets a crafting discount for Medications (that bonus now applies to the Pharmacist custom character). But the devs fixed Bruno's discount for cooking 2x meals on the Improved Stove and his discount for Pure Alcohol still stands. Speaking of the Pharmacist- that character also now gets a slight discount for crafting Herbal Meds- a discount which previously was not in-game.
So, IMO, the killer-crafting-combo is now Bruno, Pharmacist, and Katia. Bruno saves water/fuel over time, makes the early game overall easier for the survivors, and crafts Moonshine for a slight fuel discount. Then, the Pharmacist takes the Moonshine and crafts Herbal Meds/Medications. Matey at the Garage pays a premium for Herbal Meds so I would pay him a visit with Katia (making sure to add the medicines to her inventory prior to setting out) to get the best deal.
Roman is my favourite. Absolute beast in combat without heavy repercussion if you kill aggressive civilians (eg: Bozena). It's just a general vibe that when I send Roman out, I have no fear no matter what happens.
Boris is the man, with 17 inventory slots and the highest health (along with extra damage in fights,) Hes my favourite. The speed reduction is a minor setback that i can slightly fix with the well fed and content bonuses. Shame he is only in one story (which i hope they give more to gim, its B.S)
Mine is definitely Katia. Not for rational reasons (despite having useful trader skills), I just like her. Backstory, appearance, character.
Rationally, I'll go with Roman. He doesn't care about anything and fights great. Even though he doesn't have the biggest amount of backpack space, it doesn't matter. One can send him the first night to easily clear a map, and send whomsoever for scavenging next night. Also, if there's a Roman-Katia-X scenario, he can guard the place so that Katia will be awoken when Franko arrives.
Boris has 17 item slots which in my opinion outweighs the fact that he has to run quite slow. If you have the time and patience, then Boris is perfect for fully looting places.
Not many people like Zlata for some reason, but I think that she is a good character. Everyone has their own definition of winning: some people like to slaughter everyone, some people want to loot everything, some people just want to survive no matter what. My definition of winning is to keep everyone's morale up and to have good endings for everyone. Zlata is perfect for that because she can cheer up almost anyone and is optimistic. She has 12 item slots and can work as a fighter if needed. She is the average I think, the one that is well rounded.
Also with the Little Ones DLC, I'm doing testing to see if Cveta can cheer up children better. If so, she might not be so bad in the morale department.
I like the Katia, Bruno, Marin and Marko team. That is the dream team that can get anything done, and done quickly. Boris may be better than Marko at scavenging with that incredible inventory, so that works just as well.
I think Katia is the best, since she gets a 20% markup just like traders, but since it seems like an exploit to clear out most of Franco's inventory in a few trades every time he shows up, I don't use her.
I am liking Marin, who gets a discount of 1 in 5 items for building and upgrading, and crafting at metal workshop. Marin makes it easier to have Improved stove / workshop / metal workshop, 2 rat traps, a rainwater collector and lots of tools by day 6.