I'm actually working on a solution using AutoHotkey that recognizes that a click was placed into the bookmarks bar (by location in the Chrome window) and if it was, sending a Ctrl-click instead of a generic click. If you use AHK, feel free to test this out.
I did this by intercepting the click, determining if the click was in Chrome, then determining if the click was within the box I defined as the bookmarks bar. If all of those conditions are met, send the click as a Ctrl-click instead of a click which will open the bookmark in a new tab.
This should work effectively for the bookmarks bar, but of course it ignores any other bookmark clicks under the "Other bookmarks" folder. We'll still have to remember to Ctrl-click any of those links (or middle-click if you're that dexterous with your mouse wheel). Also, the size and location of your bookmark bar may be different depending on lots of different things like themes and other toolbars, so YMMV, make sure you use WindowSpy to get the location of your own bookmark bar and change the lower and upper bounds for the X and Y coordinates.
Perhaps one thing I might improve is to detect when "Other bookmarks" is clicked, and then send the next click as a Ctrl-click, so you navigate the menu tree, and then when you find and click your link, it is a Ctrl-click.
#SingleInstance force
#Persistent
LButton::
{
If MouseIsOver("ahk_class Chrome_WidgetWin_1")
{
MouseGetPos, LocationX, LocationY
If LocationX between 6 and 965
{
If LocationY between 75 and 95
{
; If we are here, the mouse has been clicked in Chrome in the
; bookmarks bar. Send a Ctrl-click instead of a click.
Send, {Control down}
Click
Send, {Control up}
}
Else
Click
}
Else
Click
}
Else
Click
}
MouseIsOver(WinTitle) {
MouseGetPos,,, Win
return WinExist(WinTitle . " ahk_id " . Win)
}