Safari の do JavaScript と同様のことは、Google Chrome、Chromium、OmniWeb でできます。Safari でなくても良いならこれらのブラウザを使うのも良いでしょう。
まず、Google Chrome と Chromium。当方の環境では最新版が動かないので実際のところはわかりませんが、多分大丈夫だと思います。
なお、Google Chrome はあちらこちらにファイルをインストールするので、アンインストールの際は注意してください。まあ、その意味では Chromium の方が楽かもしれません。
Google Chrome
https://www.google.co.jp/chrome/browser/desktop/index.html
The Chromium Projects > Chromium > Getting Involved > latest trunk build of Chromium
http://www.chromium.org/getting-involved/download-chromium
次に、OmniWeb。OmniWeb 5 はかなり古いので、正常に表示されないページがあるかもしれませんし、セキュリティ上も問題があると思うので、おすすめはできませんが、do JavaScript 相当が可能ではあります。OmniWeb 6 は当方の環境 (Mac OS X 10.6.8) では動かず試すことができませんが、多分大丈夫だと思います。
OmniWeb 5: More Software - The Omni Group
https://www.omnigroup.com/more
OmniWeb 6: OmniWeb test builds
https://omnistaging.omnigroup.com/omniweb/
ちなみに AppleScript はこんな感じ。
Google Chrome
tell application "Google Chrome" tell active tab in window 1 execute javascript "(function() { var a = 1.0; return a; })();" end tell end tell
Chromium
tell application "Chromium" tell active tab in window 1 execute javascript "(function() { var a = 1.0; return a; })();" end tell end tell
OmniWeb
tell application "OmniWeb" do script "(function() { var a = 1.0; return a; })();" window front browser end tell
動作確認
・Mac OS X 10.6.8
・Google Chrome 49.0.2623.112
・Chromium 51.0.2666.0
・OmniWeb 5.11.2
あと、本題からは若干逸れますが、T22T さんがおっしゃった変数の問題はこんな感じで回避できます。do JavaScript は全てこのスタイルで書くと良いかと。
例1
tell application "Safari" do JavaScript "(function() { var a = 1.0; return a; })();" in document 1 end tell
例2
tell application "Safari" do JavaScript "(function() { var a = 1.0; var b = 2.0; var c = a + b; return c; })();" in document 1 end tell
変数汚染については、下のページが参考になります。
Bookmarklet - ブックマークレットのグローバル変数汚染デモ
http://www.teria.com/~koseki/memo/bookmarklets/blet_global.html