Having done that myself, my guess is that it's suitable, and can probably get you more than 50%. It depends on how many external libraries you use (eg. Google Gson is not GWT-compatible because the use of reflection, and fortunately most of Guava is GWT-compatible) and how many JRE classes / methods you use that are not emulated by GWT (yet) (eg. java.io.File is not emulated). The list of currently supported JRE emulations is at:
http://www.gwtproject.org/doc/latest/RefJreEmulation.html.
2. If a particular method has to be marked @GwtIncompatible but is called by a GWT-compatible method, you might try factoring it out into a utility class and super-source the utility class (see point 3).
I'm not 100% certain, but these techniques should still apply to J2CL (Jackal, the new Java-to-JavaScript transpiler that might serve as the core in GWT 3.0). JSNI might not be supported though so you should better go with JsInterop.
Good luck!