Is there a module or technique to display blocks or panels based on device width?
How about using the Themekey and/or Mobile Detect for switching mobile and desktop version of themes? Here is a quote about these modules (from their project pages):

Themekey:


ThemeKey allows you to define simple or sophisticated theme-switching rules which allow automatic selection of a theme depending on current path, taxonomy terms, language, node-type, and many, many other properties. It can also be easily extended to support additional properties exposed by other modules.
... in combination with Drupal's theme inheritance you can easily achieve features like ... &quot;mobile themes for different auto-detected mobile devices&quot;.


Mobile Detect:


... intended to aid developers utilizing mobile-first and responsive design techniques who also have a need for slight changes for mobile and tablet users. An example would be showing (or hiding) a block or content pane to a particular device.