It is actually a bit tougher than it appears.
There's 2 workflows I can think of:
Dissolve everything with no field maps etc.
Run a spatial join to get the attributes. (The hard part is that the spatial join can have field mappings/merge rules for the maximum value, but that only applied to that specific field, i.e. I think the attributes of any other coincident feature could go into the other fields. One solution is to possibly assign a code to you area field, e.g. shape_area end in 0.01 for Red, 0.02 for Blue... then you can use the Max Merge Rule on that field, and be able to match them back up after with a simple field calculation (e.g. if last digit is 1, field = 'red'...).
The other would be to run the dissolve, but then run an Update/Search Cursor to compare attributes of intersecting geometries (e.g. SHAPE@.disjoint, and then update the attributes with those of the largest shape_area) this isn't overly complex, but it does require some knowledge of arcpy scripting.