How to display custom block without default wrapped html around
I don't actually think this is possible using a block; however, take a look at hook_block_view() and hook_block_view_alter().

Those MAY do what you want.  They allow you to alter the contents of a block before it is displayed; however, it is likely that you'll still end up with the contents of the block 'inside' the template's block boiler plate. 

Keep in mind that it's up to the theme to decide how blocks are styled so the theme markup boilerplate is there by design. 

If you need to inject html into specific areas of the site / page you might need to do something differently. 

In that case hook_page_build() or hook_page_alter() might be a better choice.