As someone who eats out far too much, I'm not surprised by McDonald's suffering. They seem to be falling apart on several fronts.
1. Customer service. Almost every time I've gone there recently, it has always been a poor case of service. From not getting service at all in a drive through (waiting five minutes in my lane while the other was getting service)- eventually driving off, to just plain rudeness when I go in.
2. Quality control. Undercooked, overcooked (to an extreme), burgers in pieces (literally break breaking apart from the grease or all the ingredients thrown into the box.)
3. Offerings. The competitors are running rings around them both in the type of offerings and the quality. BK is just far superior in quality and taste. McDonalds tastes like a school lunch.
4. Localism. There is a move to support local businesses. Our local BK, even though it is a chain, has capitalized on this through local sponsorships, branding, and the franchise owner being part of the community. (same with Chick Filet and a couple of other chains). McDonalds has no local community connections. I couldn't even tell you who the local franchise owners are, unlike many other chains in the area.
It seems McDonalds have been focusing on how rapid they can produce a product with little thought to improving quality to keep up with the competition. Their offerings are probably the same as they have been in the past 30 years but they are being surpassed. They are becoming the Dollar Store of food. They have spent a lot updating their stores, putting in multi-lane drive throughs, and new signage, but nothing to improve why people actually go to a restaurant.