How can I print out large variables in hook_entity_presave for debugging?
You don't want to see all properties. That's internal data that doesn't help you much anyway. What you want to see is the field values. And the easiest way to do that is this:

debug($entity-&gt;toArray());


That gives you a simple structure of all fields and their values. You can access them in a similar way as that array looks like, e.g. $entity->field[$delta]->property, [$delta] is optional and defaults to 0. See http://wizzlern.nl/drupal/drupal-8-entity-cheat-sheet for more details.

The other way is to use an IDE with a debugger, then you can set break points, inspect anything at runtime and even execute code.