After sleeping on it, I've come up with a couple of positives:
-Gudbranson was apparently a perfectly serviceable #4/5 defenseman in Florida. His time in Vancouver was an absolute mess, with being plagued with injuries and bad play, but he was apparently solid with the Panthers. He even admitted to not playing well for Vancouver. That at least makes me think there is something there that is better than what he has shown in Vancouver. If he can get back to his old level, he'd be a useful player on the bottom pair.
-I'm treating Gudbranson like a rental until he's here after July 1st. I can't see any feasible way they keep Gudbranson without shipping out another defenseman, and I really can't see them shipping out any of their top-6 defensemen for Gudbranson. That is, unless Gudbranson is fantastic for the Penguins to end this year. I think a logical suggestion is that JR only brought in Gudbranson as a reaction to losing 2 defenseman to cheap shots in the outdoor game, and he doesn't plan on keeping him beyond the year. With that being said, I think I'd rather keep Gudbranson than Johnson beyond this year.
-The Penguins at least seem to know what Gudbranson is, so that makes me think they'd use him more appropriately. It seems like they realize he's a bottom pair enforcer type of defenseman, so I think he won't be used like Johnson has been used.
-The Penguins did only trade Pearson for him, so it's not like they really gave up anything that hurts them. If you view it as basically trading a spare $4 million forward for a spare $4 million defenseman, it's just whatever. Most people here don't seem to want Pearson playing anyway and Gudbranson probably won't play when everyone is healthy, so it seems like a wash from that point of view.
I still don't like the deal because there is a ton of risk with having a $4 million defenseman signed for multiple years on a team with multiple expensive defenseman, but I at least have some reasons for optimism that it won't be an issue beyond July 1st.