You could abandon the old ways of the image map and do it with links. For example, you have a large <div> (or another block element) with a 'position: relative' attribute. Then, you put the <img> into it regularly. Then, create all of the links and put them into the <div> that's holding the <img>, and give all of the links a 'position: absolute' attribute as well as a 'display: block' attribute.
From there, you can position and size all of the links, and you could make them partially transparent and change color if you wanted to. Or, if you're adventurous, give them a background image that would display on :hover, or put an <img> into the link and have that display on :hover.
Image maps are outdated.