Finding an empty line the way you suggested is quite useful in fact.
Moreover I managed the following mapping
noremap ]e
\ :
\ | execute 'normal /^$'
\ | execute 'normal n'<cr>
nnoremap [e
\ :
\ | execute 'normal ?^$'
\ | execute 'normal n'<cr>
so now ]e and [e can be used to find empty lines forwards and backward
Thanks for your support!