No, "should" is not generally interchangeable with "would". The easiest rule of thumb is that when a speaker uses "should" she is prepared to explain why, and when a speakers uses "would" she is prepared to explain why not. Here are some examples:
Muskie should have won by a huge margin [because he is much better than the competition].
Muskie should win tomorrow [because he is much better than the competition].
You should have heard by now that I'm OK [because I saw the doctor talking to you].
You really should have started that paper more than 8 hours before it was due [because it's very difficult to write a quality paper in less than 8 hours].
With "should", the speaker always has a reason why something did/will occur. If the speaker's reason [in brackets] isn't explicitly stated, it is still implied. Now consider "would":
Muskie would have won by a huge margin [if he didn't blow his engine].
You would have heard by now that I'm OK [but you didn't buy me a cell phone, so I couldn't call you].
I would have started that paper earlier [if I wasn't so busy with all my other homework].
With "would", the speaker always has a reason why not - why something did not occur. The speaker is more likely to explicitly state her reason [in brackets] with "would". If we are using a future tense, the why not rule of thumb becomes awkward but still workable:
I think she would like this as a gift [if we decide to buy it for her].
In sentences like this, everyone understands that it is hypothetical, so the speaker would rarely actually say the reason in brackets [if this hypothetical situation ever arose]. (See what I did there!)
One final note, which makes this kind of tricky, is that you can still use "should" even when you state a why not reason as long as a why reason is still stated or implied:
Muskie should have won if he didn't blow his engine.
Actually means:
Muskie should have won if he didn't blow his engine [because he is much better than the competition].
So in sentences like this, "would" and "should" are almost interchangeable. Just remember that "should" means the speaker knows why and "would" means the speaker knows why not. If the speaker happens to know both, then she can choose "should" or "would" almost equivalently.
"You'd" is a contraction that can stand in for either "you had" or "you would". The difference between the two phrases is context and timing.
If the statement is spoken before event, it can express a desire for the person to wear a suit to that event, that's the "you would" version - "I wish you would put on a suit [before we go]."
If the statement is spoken at or during an event, both versions mean the same thing. "I wish you [had] put on a suit [before we got here]."
Part of the confusion is that "put on" doesn't change spelling or pronunciation when the tense changes. If you substitute "wear", it becomes less ambiguous.
- "I wish you'd wear a suit." = "I wish you would wear a suit."
- "I wish you'd worn a suit." = "I wish you had worn a suit."
- "I wish you wore a suit." = "I wish you wore a suit."
The last two statements are equally correct, but the mean of "you'd" is no longer in question.
Best Answer
You are right that "I wish he had written ..." is preferred.
However, in informal speech, "I wish he'd have written ..." and its variants, "I wish he had have written ..." and "I wish he would have written ...", though frequently considered incorrect, happen quite often in educated people's speech (according to entry 262.2 in PEU, see below).
I found this explanation in Practical English Usage by Michael Swan,
Here are the relevant sections under entry 262 (for the usage of I wish you'd have ...).