You can do something like this.
var marker = new google.maps.Marker({
map: MAP_INSTANCE,
position: LOCAIOTN,
visible: true,
icon: ICON_PATH
});
use the SVG icon and change the image path to the user image path.
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<image width="80" height="80"
xlink:href="[USER_ICON_PATH]" />
</svg>
PHP to generate different SVGs for different users.
<?php
$url = 'http://lorempixel.com/200/200/';
echo '<svg width="216" height="216">
<defs>
<rect id="rect" x="8" y="8"width="200" height="200" rx="50%"/>
<clipPath id="clip">
<use xlink:href="#rect"/>
</clipPath>
</defs>
<use xlink:href="#rect" stroke-width="8" stroke="black"/>
<image xlink:href="' . $url . '" width="100%" height="100%" clip-path="url(#clip)"/>
</svg>';
?>
http://jsfiddle.net/bhkxxh90/43/
UPDATE: php
UPDATE: jsfiddle anwser