How to avoid conflict of plugin style and theme style?

You should not ship general purpose styles with any public plugin.

There are two typical approaches to this:

  1. Don’t ship any styles and rely on simple/expected markup. This works for cases like widgets, with similar enough markup between different themes. Same goes for outputting in content area — any quality theme is presumed to have styling for basic elements.

  2. Make styles precisely specific to your markup. For example only produce output inside container with class/id unique to your plugin. Since you use Bootstrap in your specific case and it uses Less (as opposed to plain CSS) it makes it easy to import and nest rules to produce such stylesheet.