First, blockchain space is at a premium, since every node has to store the whole thing forever. So in general it is better not to store redundant information in the block chain, and to let each node compute it instead.
Second, the "balance" in an address can be affected by multiple transactions which are not necessarily ordered with respect to one another. Suppose that address 123abc initially has no incoming transactions, so its balance is 0. Now suppose that Alice decides to send 1 BTC to that address. So by your logic, her transaction should show the "final balance" of the address as 1 BTC. Simultaneously, and with no knowledge of what Alice is doing, Bob sends 2 BTC to that address, and so naturally his transaction shows the final balance as 2 BTC. But the "true" final balance is 3 BTC, so both of their statements as to the final balance are wrong. So anyone who wants to know the true final balance has to calculate it themselves anyway, and can't rely on the numbers in the transaction.
To make this work at all, you would need some sort of rule that you can't send more coins to an address until the previous transaction has some number of confirmations. This would be completely impractical for addresses which are supposed to receive lots of incoming transactions (think of a donation address on a popular website). It would also mean that an attacker who knows your address could prevent you from receiving an important transaction by sending you lots of tiny transactions which would have to confirm one by one.
Don't forget that this would break the pseudo-anonymity that bitcoin offers. You would have to re-use addresses for that address to have a running balance. Alternatively, the blockchain could keep track of which addresses belong to which wallet in order to maintain a balance, but again...this breaks anonymity. – Jestin – 2017-09-18T21:38:57.417