Standard or customer defined alarms are sending two emails when an state or condition goes from Red to Green or Green to Red.
None of the condition in "Determining why vCenter is sending duplicate emails for triggered alarm" are met.
This is due to the search order of the Alarm Action loop. If there is no action defined for Green-to-Red (or Red-to-Green) then it runs the action for both Green-to-Yellow & Yellow-to-Red (or Red-to-Yellow and Yellow-to-Green). This is working as designed.
Create a Green-to-Red action and/or a Red-to-Green action. This can be done through PowerCLI using these two documents:
NOTE: You will need to create the new triggers as well, see "New-AlarmActionTrigger" for details.