Roslovic scored and had an assist, and Merzlikins made 37 saves for the Blue Jackets (27-25-1) in his first start in five games because of a lower-body injury.
"Agree to disagree," Columbus coach Brad Larsen said of the call on the go-ahead goal. "They made their call. We have to live with that. Once I saw [Crosby] was not pushed, I was feeling pretty good about that, but we didn't get it.
"It's a tight game. It was a one-shot game at the end, [but] they got the bounce."
Oliver Bjorkstrand scored at 4:43 of the first period with a one-timer in the left face-off circle from a cross-ice pass by Roslovic to give the Blue Jackets a 1-0 lead. It was Bjorkstrand's 100th NHL goal in his 353rd game.
"Every milestone is a good feeling," Bjorkstrand said. "It would have been better with a win."
Chad Ruhwedel tied it 1-1 at 19:11 on wrist shot from along the right boards beyond the circle that deflected off Columbus defenseman Vladislav Gavrikov.
Roslovic gave the Blue Jackets a 2-1 lead at 8:39 of the second period with a wrist shot from the right dot.
Malkin tied it 2-2 at 11:54 of the third period with a power-play goal, tapping in a pass from Rust. The goal came 23 seconds after Sullivan used the Penguins' timeout with 1:06 left on the power play to rest his top unit.
"The more he wants the puck, the more he has the puck, I think the more dangerous he is," Rust said of Malkin. "I can see it when he gets that little kind of top step going that he's feeling it, and he's been great lately."