see this is exactly the thing. superman would not get close enough to throw a BFR ultra punch. he would be stopped by thanos mid flight. and if he did get there thanos could probably take a punch like that without simply flying off into the distance forever and ever. if he got hit he would simply hit back, or blast back. and at this point in the fight superman is finished.