Just to correct above - there is no way to override save function on client side. On server side you can intercept save call and use any custom logic instead of the default one.
As for custom “+” action - you can redefine bottom toolbar
scheduler.config.bottom_toolbar = [
{ view:"button",id:"today",label:labels.icon_today,inputWidth:scheduler.xy.icon_today, align:"left",width:scheduler.xy.icon_today+6},
{ view:"segmented", id:"buttons",selected:"list",align:"center",multiview:true, options:[
{value:"list", label:labels.list_tab,width:scheduler.xy.list_tab},
{value:"day", label:labels.day_tab,width:scheduler.xy.day_tab},
{value:"month", label:labels.month_tab,width:scheduler.xy.month_tab}
]},
{ view:"button",css:"add",id:"custom_add", align:"right",label:" + ",inputWidth:42,width:50, click:function(){ customAdd(); }},
{ view:"label", label:"",inputWidth:42,width:50, batch:"readonly"}
];
While it looks as a lot of code - there is only two differences from default toolbar
a) id of add button changed, so it will not be recognized as add button anymore
b) custom click handler added to add button, just define customAdd function on the page and it will be triggered on button clicking.