The first batter hit flush in a game gets one base. The second gets two bases. Then three. Finally, circle the bases.
That alone should pretty much eliminate HBP as an intimidation factor. That and escalating penalties for individuals that I've long advocated, including for hitting a batter in the head. For a career, immediate ejection and for these occurrences these suspensions:
1. one month
2. one season
3. lifetime ban.
Also, how about letting the team whose batter was hit have options? For instance, if team A hits team B's best hitter, it may not care about putting that batter on base. But if team B has the option of having that the hit batter stay up and have another plate appearance (PA) and to hold the HBP for later use in the same game, then it both acts as a deterrent and also introduces some much needed strategy into a game that is constricted by its very limited rules, which include no re-entry for players.
This same option could also be applied to walks.