We have contacts whose primary language is Russian and we would therefore like to email them in Russian. However, the majority of our Pardot and SFDC users speak English so we would like to maintain their information in both English and Russian. My solution for this is to create custom fields for their Russian first name, last name, company, etc. and reference these fields in our Russian language email templates. I may have to do this when we deploy Pardot and SFDC in Japan, too. Has anyone done this a different way or have other suggestions?
I think you are over-thinking it. We have offices in 25 countries, and have been using Salesforce for many years - and we don't need these extra fields. The only thing we did add was a field fro Preferred Language - it's a picklist for English, French, German, Japanese, Korean, Spanish, Portuguese. We synced this field to Pardot, and now it's really easy to run a dynamic list of prospects to email per language.
I mean, their first name is their first name. SalesForce (and Pardot) can accept the non-latin letters just fine, so sending a Pardot email with %%first_name%% and other tags works just fine, no matter the language... just be careful when using Excel on names - this is a known Microsoft issue. Excel doesn't handle the extended (non-English) characters well. So don't do a sort in Excel and then upload a CSV - it will butcher your Contacts' names.
Also, based on your post, I'm assuming you have have staff that does speak Russian, and they will primarily be assigned to those Contacts? Then it really doesn't matter for the English speakers. The sales person and the Contact are going to exchange emails in Russian (and sync them to the Contact record as history) and your English team still isn't going to be able to read them... so creating double fields for names isn't really gaining you anything.