Just posted in another thread about this, that I think it's dumb to have to avoid certain things just to have a challenge. But I'll suggest some things.

Avoid any really cheesy tactics like savescumming, for anything. Basically, unless you die, you shouldn't be reloading. If you fail a charisma check or mess up your first skill in combat, still no reloads. And definitely no refreshing chest loot. I'm not sure if this was a problem for you, but I definitely did this a little too much (mostly for loot and bad charisma rolls), and it really negatively impacted my game. Suffer the consequences.

Other cheesy tactics: using fire elementals against fire enemies. AI Behavior is just so dumb, I felt bad for taking advantage of it. Summons in general I think are way too tanky. I also think charm is honestly insane overpowered and causes dumb AI behavior (they should CC or ignore the charmed opponent, not attack it).

I'd say Lone Wolf is out. I've heard Zombie is kind of OP too but didn't play with it personally

Set an artificial cap to resistances to 70% or something. At least at 100%. No rubies for sure.

You might consider the source difficulty mod, though not sure if you want to subject your friend to that. Haven't tried it myself, but it looks good to me.