Nope. The only way around it is to write addon code to create an ActionButton, then have the binding click it.
I'd probably use SetOverrideBinding*() so it doesn't clutter Bindings.wtf. The first argument to these functions is the binding's owner. This lets you manage bindings as a group. For example, you can use ClearOverrideBindings() to remove all bindings that are owned by a frame.
Lua Code:
local Button=CreateFrame("Button","AddOnName_ButtonName",nil,"SecureActionButtonTemplate");
Button:SetAttribute("type","macro");
Button:SetAttribute("macrotext","/cast [@mouseover] MySpell");
SetOverrideBindingClick(Button,"F1","AddOnName_ButtonName");