That is how it has been for a long time. The only difference is that now, there is pavement everywhere instead of grass. Used to be you pushed the other driver to the edge of the track and he had to decide to go into the grass and slow down, or to hit the brakes and stay on the tarmac and slow down. Either way, the driver on the outside was slowing down, and the driver on the inside got in front. Now The options are stay on the racing surface and slow down, there by giving up position, or go off track and keep the throttle down, possibly keeping you in front. In the first, you are definitely losing the position, in th latter, you might keep it. Obviously the second is the better option.
What is interestign to me is what happened at the next corner. They were side by side entering the corner, and Hulkenberg pushed Perez to the outside, but there was a wall, so Perez hit the brakes to stay on the track. Amazing how drivers can stay on the track when it is the more beneficial option.
OK, but if Hulk hadn't had the option to go off the road, Perez wouldn't have pushed him so wide. If there had been a wall there, Hulk would have chosen to collide with Perez rather than collide with a wall, and Perez would have known that.
It seems to me that it's a legitimate rule that you can't get an advantage from putting all four wheels off the track, but like any rule, there are some who try to exploit it, so you need to refine the rule to deal with them.
In Hungary Grosjean went off the track, but he wasn't pushed off by Massa, so the penalty was valid. In this case, Hulk clearly was pushed off (apparently with actual contact), so he shouldn't have had a penalty.
If there had been a wall there, it's Perez who would have behaved differently, not Hulk.