Your question presents the answer. Each way to do it has it's own cons.
Which one are you willing to tolerate the most?
There is no best way; never has, never will be. There is the right option for the job at hand. If you can get away with a web app and scale back on features; do that if you want. If you want the best possible experience and have the time to develop 2 separate apps - native is the way to go
It's up to you as a developer (or the project manager) to decide this.