Sonny, being Sonny, would have still ignored any forewarning from Tom about heading back to Carlo's however.
No matter how clearly Tom might have suggested it was a trap, Sonny would have still seen the red mist descend and fly out the house to go and sort Carlo out.
Everyone else involved in the family should take their share of the blame for not realising Carlo would want revenge. It was not just up to Tom.