To automatically wrap the image in <div>s instead of <p>, add a caption to the image.
By adding a caption, WordPress autogenerates a div-wrapper (.wp-caption) around the image with desired alignment class (.alignleft, .alignright, etc).
Now you can style the images separately without paragraph styles affecting them.
If you don't want to show a caption for your images, you can insert a single space for caption, and/or use CSS to hide the caption with .wp-caption-text {display: none}.
This is useful if the end-users (ie. your clients) are not comfortable with the code editor.