Upgrades get assigned the night before arrival. If you login to Marriott the morning of your arrival, you can look at your reservation and see if you have gotten an upgrade. I usually place a note in the comment box for an upgrade if I am not a frequent guest. At two hotels in Northern Virginia, I am considered a frequent guest, and there is a note in my file for me to always get an upgrade if it is available.
I pay for my own travel, business and personal. Most of the time I get an upgrade, and my success rate does not depend on the rate I pay. The majority of my stays are on weekend rates, with the rest being in major cities that often have a publicly available discount code. The times I do not get an upgrade are usually when every room is sold out, or when I make a last minute reservation.
Having said that, most of my stays are at two properties in Northern Virginia and several other properties in the United States that have good reputations for treating gold and platinum members well. Once, I checked into the Philadelphia Marriott West with a reservation for 2 double beds (I was on a concierge floor) and asked for an upgrade to a room with a king bed after my plans had changed at the last minute. The guy at the front desk gave me a corner room with extra space and a great view, but he let me know that it was not on the concierge level. I was fine with that, and I did not make a fuss in asking for a change of rooms.
Your lack of upgrades may be due to the fact that you have some stays lasting a week, at least in regard to getting upgrades beyond the concierge level. It is usually harder to get suite or view upgrades for long stays because hotels often want to hold those rooms for people who might pay extra for them. If you are staying at a few properties frequently, I would suggest asking the front desk to put you in a concierge level room on a regular basis.