well, getting what I need does not require a lot of coding. For anyone interested, here is a quick example which does the trick when the focus is on the figure to be modified.
As soon as I have some time I'll turn it into a more complete function (unless something like this already exists).
% get ylim
% get order of magnitude
% get and rescale yticks
% create tick labels
% the space after the percent gives the same size to positive and
% negative numbers. The number of decimal digits can be changed.
% set tick labels
% place order of magnitude
fs = get(gca,'fontsize');
xl = xlim;