When I was learning typography—many years ago--the convention was that you did NOT use spaces around en- or em-dashes. If the type designer wants extra space for readability or aesthetics, they will build it into the slug for the type (or in more modern cases, program it into the font).
Because of the proliferation of letter-spaced fonts online, where there is no allowance for a typographer to make a character with a little extra space for aesthetics, the logic for the standard doesn't exactly apply anymore.
But that's still how I do it. And as you can see, when dealing with the internet I tend to use double hyphens instead of em-dashes because you never know how a text editor is going to handle an em-dash, and those that handle them at all will often convert a double hyphen into an em-dash.
And as far as I know, substituting a spaced en-dash where you should use an unspaced em-dash is definitely out.