How does blockchain.info calculate the "Estimated Transaction Value?" Consider the following transaction:

https://blockchain.info/tx/aa5eb27652bd85dc444ea2508bf0ff6ff1b484141e2d7e69f31976fafb21e06e

Each of the output addresses has never before been used, and there is only one input address. Why does blockchain.info guess that 0.7695 BTC has been transacted with 3.7216 BTC as change rather than the reverse (see "Estimated BTC Transacted")? Does it just pick the second address as the change address?

In other cases, I am able to guess similarly to blockchain.info, for example:

(1) If multiple input addresses are used, the change address should not be greater than the lowest input address (unless, of course, this is being purposely obfuscated).

(2) If both of the output addresses have been used before, they may run a degrees-of-separation query to try to connect one of the output addresses more closely to the input addresses, more closely identifying it with the input addresses and therefore as the change address.

(3) If only one of the output addresses has been used before, it is more likely to be the change address according to the heuristic in (2) because by definition the used address is more closely "connected" than an address that has never been used.

But what heuristic could be used if each of the output address is new? The spending pattern of the input address? Randomness? Thoughts?

You can see how this question affects views of the total/daily volume on Bitcoin in aggregate by comparing/contrasting both of the "Estimated Transaction Volume" charts available on http://www.blockchain.info/charts. They claim the second chart adjusts for change, but provide no details about the algorithm.
For transactions with one input it is hard to guess what is the change and what is the real payment. However because they may be have statistics so they can may be guess that for a ~4 BTC input there are 70% of probability that the change is the bigger output and the money spent the smaller one when both output addresses are new.

Now if you have a transaction with several inputs (Like ou have already explained in your question) it is much more easier to guess.
If you have :

As input
1Pi87D6NUPB5BxcuowYN4Lj3WLCSFGsuLN (0.24379822 BTC)
1PgBMDggd7GGCifDd1881vdvNe8pkn5BWk (0.08787591 BTC)

And as output
1B6tvnE3oP3mwoA4RMrYXWVup4Z73G6bDw -  0.05377413 BTC
1DswmdznL6exZzN6akJpsPUc4ZWRZo9JQc - 0.2778 BTC


In this case you can be pretty sure that the spent address is '1DswmdznL6exZzN6akJpsPUc4ZWRZo9JQc - 0.2778 BTC' and the change '1B6tvnE3oP3mwoA4RMrYXWVup4Z73G6bDw -  0.05377413 BTC'.

Because otherwise there would be only one input.