One of the main concerns with esi is that under common circumstances, it can make Drupal feel slower because of multiple Drupal bootstraps per a single pageload. That of course only happens if the blocks etc decide not to get cached globally. Views has its own switch for disabling/enabling block caching, which can help, or not (depending on the setup).
Lets say that I have a website with 99% anonymous users, and 99.5% content is the same for anonymous & authenticated. I have some blocks (set up with context module), and those blocks look the same to all users. To avoid additional bootstraps, would it be a good idea to use a module like blockcache_alter, to define each block to be cached globally? Any other recommended solutions?