Not sure if this is the optimal solution, but I recently ran across this same problem using Marionette 1.8.8. When the user input changes and then settles, I change the model, and that causes the view to render, and then lose focus. I ended up using a combination of onBeforeRender() and onDomRefresh() on the View:
onBeforeRender() - Save away the id of document.activeElement. If you want to save the current selection in an input field or textarea, you should also save the activeElement's selectionStart & selectionEnd.
onDomRefresh() - (To be honest, I can't remember why I ended up using onDomRefresh() rather than onRender(), but I do remember it was necessary)
Here, check if there is a saved activeElement id (from onBeforeRender()`), then get that element from the id (you can't save the element itself since that would have been destroyed with the re-render), and then set the focus to that element (savedActiveElement.focus()). You can also call activeElement.setSelectionRange() with the saved selectionStart & selectionEnd to restore the active selection.
Hopefully that should do the trick.
Alan