You can create a web part that will change the menu items available on the toolbar menu of the list.
In your web part code, change the code of the CreateChildControl : 
    protected override void CreateChildControls()
    {
        if (!_error)
        {
            try
            {
                foreach (Control control in this.Page.Controls)
                {
                    ModifyMenu(control);
                }
                base.CreateChildControls();
            }
            catch (Exception ex)
            {
                HandleException(ex);
            }
        }
    }
And then Add a ModifyMenu function that will add / hide the menus you want : 
private void RemoveNewMenu(Control parentControl)
    {
        if ((parentControl == null) || (parentControl.Controls.Count == 0))
        {
            return;
        }
        foreach (Control childControl in parentControl.Controls)
        {
            if (childControl.ToString().ToUpper() == typeof(Microsoft.SharePoint.WebControls.NewMenu).ToString().ToUpper())
            {
                NewMenu newMenu = (NewMenu)childControl;
                if (newMenu.GetMenuItem("NewFolder") != null)
                {
                    newMenu.AddMenuItem(<Edit item menu that you want to add>);
                    newMenu.GetMenuItem(<new item menu that you want to Hide>).Visible = false;
                }
                break;
            }
            RemoveNewMenu(childControl);
        }
    }