There are a number of Blog posts out there on the topic of toolbar customizations. If you take the Custom Actions feature approach, you can add new toolbar choices at different levels (Web Application, Site Collection, etc.). You can also customize a copy of DefaultTemplates.ascx and load that user control set with a hidden web part in lieu of the default toolbar.
What if you need to remove a toolbar choice on exactly 1 DispForm.aspx page?
I recently had this requirement on a SharePoint assignment where I had used a CustomCore.js to security trim the Item context menu by manipulating the ECB (EditControlBlock). I had to follow that up with a simple way to eliminate the “Edit Item” choice that remained on the toolbar of the DispForm.aspx page when Visitor level users selected the View Item choice from the context menu.
var control = document.getElementById(“ctl00_m_g_817757e4_87fc_45a3_ad3c_f88ce0e48c70_ctl00_ctl01_ctl00_toolBarTbl_RptControls_diidIOEditItem_LinkText“);
control.parentNode.parentNode.parentNode.parentNode.parentNode.previousSibling.style.display=”none”; // <td> containing the vertical separator
control.parentNode.parentNode.parentNode.parentNode.style.display=”none”; // <tr> containing the icon and text