I would suggest that Microsoft definitely could make the life of virus and other malware authors more difficult even taking into account Windows architectural limitations. Until recently they just did not want to do anything because it does not affect MS bottom line. With spyware and networking worms the situation is different. Currently Microsoft provides a free tool to fight spyware and tries to incorporates additional security mechanism in the future versions of Windows. Windows XP SP3 is more secure than Windows 2000 and Windows 7 is more secure then Windows XP.
Any serious researcher would agree that the first DOS antivirus industry and later antispyware vendors were to a large extent a product of Microsoft. Of course Microsoft was not a single reason, but due to its dominance and inability (or lack of desire) to close some holes in Windows, until recently it played a major role in creating the industry...
Microsoft DOS was extremely virus friendly OS due to both holes in implementation of some features (system and hidden attributes in FAT) as well as limitation of the architecture: DOS was essentially a single user program loader
The same story was repeated with Windows. All recent version of Windows retained the title of the most malware friendly/spyware friendly OS available. The mess that is called Windows Registry proved to be perfect stop for hiding malware loading mechanisms. Microsoft development of Registry was extremely, blatantly incompetent. Major architectural features that can improve visibility of malware in the registry were simply missing.
Almost until 2000 (and including Windows 2000) Microsoft did very little to patch security holes. It actually created a few new -- for example as we now know all too well, hiding the extension in files has had an interesting side effect, creating a whole new class of "double attachment" worms and Trojans ;-).
Also with new networking capabilities new threat from RPC and other networking protocols surfaced creating a new category of worms network worms. I would suggest that Microsoft definitely could make the life of virus authors more difficult even taking into account Windows architectural limitations. Until recently they just did not want to do anything because it does not affect MS bottom line. With spyware and networking worms the situation is different. Currently Microsoft provides a free tool to fight spyware and incorporates additional security mechanism in the future versions of Windows. Windows 7 is more secure that Windows XP and Windows XP SP3 was more secure then Windows 2000, which in turn was much more secure then Windows 95/98.
Unfortunately malware is not only about architectural limitations and security weaknesses. Sometimes even advantages of Microsoft platform lead to creation of a new class of worms. For example the fact that VBA/VBS became a standard macro language in MS Windows environment and is used in MS Office is a great achievement of Microsoft. But it let to the creation of a new type of viruses -- macro viruses. In late 90th Microsoft started to understand that native Office formats are insecure and that can badly affect the revenue stream. So the company made some improvements in Office 97 and especially in Office 2000. But it was too little and too late. See Note on virus paranoia. Similar situation repeated in mail. while Outlook proved to be a very good and innovative in some areas scriptable mail client, Microsoft had recurrent problems with the security of MAPI services and, especially, with the Microsoft Outlook implementation.
Unix/Linux cannot have this class of viruses just because applications available for Unix does not have a common macrolanguage. But the key problem is that they also have the problem with a tiny market share that prevents creating a critical mass of available targets essential for any successful virus of worm. So any talk about Linux being more secure than Windows should take into consideration this major fact.