Take a tip from the admin interface of Magento eCommerce. This is an old interface, essentially unchanged since 2008 when it was written. Sure much could be improved on, however, in my experience of working with clients over the last five years the 'failure to save' problem just is not a problem.
Why is this?
The save button is always in the same place - top right. If you scroll down through a form it still stays there. This is consistent whether editing customer details, order details, product descriptions, product categories, product attributes AND EVERYTHING ELSE!!!
Furthermore there is usually a 'Sae and Continue Editing' button right next to the 'save' and 'back' buttons. The back button is crucial as it takes you back to the grid listing those customer details, or products or anything else.
This top right area effectively becomes a 'macro navigation' for the task in hand - usually you want to edit a few products and the buttons facilitate this.
Consequently new users are not hunting around for where the save button is - they know the drill.
When does this fail?
On big sites you can have lots of teams editing product pages not knowing who else is working on the page. So the sales team could be marking down prices not realising that the guy who puts the images on is also working on the same pages. As a consequence some things get over-written with changes getting lost.
To date I have only worked on one site where the users have had this problem.
This can also fail if the session timeouts are too short. This is a configuration issue, but, if the session is - say - PHP's default 25 minutes or so, in a busy office one phone call could take up a lot of that time and, come 'save' time, the login screen appears and all changes are lost.
This is a simple fix - increase the session to something like 86400 seconds...
So cover off those scenarios - the way to solve the multi-user on same page problem is to embed a last saved timestamp in the form and have an ajax save. On the back end of the form simply compare the time stamps and return a 'uh oh' code, then in the ajax result code, throw a message to the user saying that the page has been edited by someone else with a 'reload' button. The user can then decide what to do, e.g. open the form in another tab and check what has changed due to other users saving the form in the time they have had it open.
A further advantage of the Magento approach is that it is simple as far as the user is concerned - there is a speed advantage in not having 'do you want to navigate away from this page' nag screens.
Many web agencies have Magento demo stores with admin areas you can have a dig around in. Have a look at how it works:
Sometimes the simpler solutions are best.