I'd clip the symbol with Tik Z instead of drawing a white rectangle over a part of it. That way this also works in front of colored things without having an white box appearing.
I also used the pgfinterruptboundingbox environment so that the dimensions of \Gentsroom are known before I can \clip parts of it (this works similar to \?lap).
Because the \Gentsroom is measured this works in lieu with \Large and similar font-size macros.
Macros
\LeftGent[<>]{<opt>} and \RightGent[<>]{<opt>}
Is an (empty) optional argument <> given, then the partly symbol will take the full width of the original symbol.
\setlength{\fboxsep}{0pt}\setlength{\fboxrule}{.2pt}
\fbox{\LeftGent{}\Gentsroom\RightGent{}} \fbox{\LeftGent[]{}\Gentsroom\RightGent[]{}}

The mandatory argument <opt> (which can be empty, but has to be given) is given to the \nodes:
\RightGent{opacity=.2}\LeftGent{}\RightGent{}\LeftGent{yshift=-.5ex,red}

\partGent[<>]{<opt>}{<perc>} and \trapGent[<>]{<opt>}{<perc>}
Additional to <> and <opt> these macros take an addition argument <perc> so it is possible to use any arbitrary part of the symbol. Only values between 0.0 and 1.0 make sense, of course.
\rowOfGents[<>]{<opt>}{<count>} and worOfGents[<>]{<opt>}{<count>}
These macros build an entire row of men. <> and <opt> act as usual. <count> gives the (floating) number of symbols that should be typeset.
\rowOfGents{green}{2.5}\worOfGents{blue}{0.5}\rowOfGents{blue}{0.7}\worOfGents{red}{1.3}\par
\Large\rowOfGents{green}{2.5}\worOfGents{blue}{.5}\rowOfGents{blue}{.7}\worOfGents{red}{1.3}

Code
\documentclass{article}
\usepackage{marvosym}
\usepackage{tikz}
\usetikzlibrary{calc}
\newif\ifclipme
\newcommand*{\LeftGent}[2][\clipmetrue]{\reflectbox{\RightGent[#1]{#2}}}
\newcommand*{\RightGent}[2][\clipmetrue]{\partGent[#1]{#2}{.5}}
\newcommand*{\trapGent}[3][\clipmetrue]{\reflectbox{\partGent[#1]{#2}{#3}}}
\newcommand*{\partGent}[3][\clipmetrue]{%
\sbox0{\Gentsroom}%
\tikz[baseline]
{ #1
\ifclipme\begin{pgfinterruptboundingbox}\fi
\node [anchor=south, inner sep=0pt, outer sep=0pt, text width=\wd0, text height=\ht0, text depth=\dp0, #2] (A) {}; %
\ifclipme\end{pgfinterruptboundingbox}\fi
\clip (A.south west) rectangle ($(A.north west)!#3!(A.north east)$);
\node [anchor=base, inner sep=0pt, outer sep=0pt, #2] {\Gentsroom};
}%
}
\newcommand*{\rowOfGents}[3][\clipmetrue]{%
\pgfmathtruncatemacro\fullGents{int(#3)}%
\pgfmathsetmacro\partGents{mod(#3,1)}%
\ifnum\fullGents>0\relax\foreach \i in {1,...,\fullGents}{\partGent[#1]{#2}{1}}\fi%
\ifdim\partGents pt>0.0pt\relax\partGent[#1]{#2}{\partGents}\fi%
}
\newcommand*{\worOfGents}[3][\clipmetrue]{\reflectbox{\rowOfGents[#1]{#2}{#3}}}
\begin{document}
\setlength{\fboxsep}{0pt}\setlength{\fboxrule}{.2pt}
\fbox{\LeftGent{}\Gentsroom\RightGent{}} \fbox{\LeftGent[]{}\Gentsroom\RightGent[]{}}
\RightGent{opacity=.2}\LeftGent{}\RightGent{}\LeftGent{yshift=-.5ex,red}% That's gonna hurt!
\rowOfGents{green}{2.5}\worOfGents{blue}{0.5}\rowOfGents{blue}{0.7}\worOfGents{red}{1.3}\par
\Large\rowOfGents{green}{2.5}\worOfGents{blue}{0.5}\rowOfGents{blue}{0.7}\worOfGents{red}{1.3}
\end{document}