creating html reusable blocks via shortcodes

It’s an OK practice but in some cases could be turned to a worst case scenario!
Using shortcodes to generate blocks of HTML is the reason they exist, especially when you need some dynamic HTML generation (using attributes in the shortcode).

In conclusion, a normal shortcode usage is totally OK, however you should avoid putting hundreds of shortcodes in one page, otherwise it causes poor performance on the website.