Point taken, which is why I suggest the second fix using weighting. That being said, limiting to similar skills—while eliminating a few potential genuine recommendations, like the situation you mention—would stop the bogus recommendations as well, and I would guess that there are many more bogus than genuine recommendations being handed out the way it is now.
Also, do note that you're not really able to judge whether the work is professional or not. You can judge whether it works well, but for all you know the behind-the-scenes stuff could be a complete mess which will fall apart tomorrow. This applies to programming, construction, plumbing, managing a financial portfolio, anything. Unless you're an expert, you really can't judge someone's work on anything other than a very superficial level.