Is there any way to force blocks created by views to display even when there is no result?
Solutions
In addition to the NO RESULTS BEHAVIOR, if you have a Contextual Filter, make sure that the default value is set when it is not available from the URL. Otherwise the view may be hidden.
For example, I had to update the "User Orders" view provided by Commerce and change the default value to the logged in user, instead of "hide view"
Views has a somewhat hidden feature for setting the behavior when you have no results.
If you edit the view and click on Advanced, you will see some new settings:
Click on add next to NO RESULTS BEHAVIOR. You will then get a modal with a ton of choices. You should be able to use the textarea or markup options to plop in a This should force the block to not be "empty". You could also set a message, etc.
You can also always show the advanced options if you visit admin/structure/views/settings
I typically always set "Always show the master display" and "Always show advanced display settings". There are some other useful settings on admin/structure/views/settings/advanced
In addition to what @MPD and @andrewtweber said, you can add a header and footer that will appear when there are and are not results for your view.