How can I make Safari or Chrome remember my messages in contact forms?
For Chrome, there is Lazarus: Form Recovery
(haven't tried it)

For Firefox (although you didn't mention Firefox, I'll put it in any case), there's the TextArea Cache addon.

For Safari, I don't know of anything. 
At the moment I either copy/paste text areas I want to save, or long-click selected text in the textarea, and drag it to a folder in the Finder to create a text clipping. You could also look for a keystroke recorder/keylogger, which would record every key you type in case you need to get back to it later (but those also record spelling mistakes in some cases).

Another option for Safari is to use Jumpcut. Jumpcut can save up to 99 text clipboards in its internal memory. I use it all the time for temporary saving purposes. For example, you are typing text inside a text box, quickly select all (cmd + a) then copy all (cmd + c) and you've just "saved" the text inside Jumpcut. If your computer crashes or your app crashes, restart it and within Jumpcut your text is accessible, ready to be pasted again.

And since Jumpcut remembers up to 99 clippings, you can easily copy all the fields in a form to paste them again later in the exact same way.

Creating a clipping from a text field in Safari: