With the conscious decision to eschew elegance for reliability, I present
symSum[li_List] := Module[{k2 = Ceiling[Length[li]/2]},
Total[MapAt[Reverse,
If[Apply[Equal, Length /@ #], #,
MapAt[Function[l, PadLeft[l, k2]], #, {2}]] &[
Partition[li, k2, k2, {1, 1}, {}]], {2}]]]
or more compactly,
symSum[li_List] := Module[{k2 = Ceiling[Length[li]/2]},
Total[MapAt[Reverse,
PadLeft[Partition[li, k2, k2, {1, 1}, {}], {2, k2}], {2}]]]
Testing:
list = {a, b, c, d, e, f};
symSum[list]
{a + f, b + e, c + d}
symSum[Most@list]
{a + e, b + d, c}
----------
Yet another variation:
symSum[li_List] := Module[{k = Length[li], k2},
k2 = Ceiling[k/2];
Total[MapAt[
Composition[Reverse, If[EvenQ[k], Identity, RotateRight]],
Internal`Deflatten[PadRight[li, 2 k2], {2, k2}], {2}]]]
and we can keep on putting out variations until we're all blue in the face:
symSum[li_List] := Module[{k = Length[li], k2},
k2 = Ceiling[k/2];
PadRight[Total[
Take[li, {#, # Quotient[k, 2], #}] & /@ {1, -1}], k2, test[[k2]]]]