Drupal 7: customise archive view to show only blogs from one user
Add a "User" relationship, then just add the corresponding contextual filter. If absolutely necessary, you can set the contextual filter to always use the default value, and set it to be a raw value from the url, and set the number to wherever the username is in the url path.

Example:
url = http://mysite.com/user/USERNAME/blog/archive
raw value from path number = 2 (/user/USERNAME -- it's the second part of the path)