Not sure how to remove the bad stains - i do know that marble can actually be slightly porus and absorb colour substances like wine if not instantly mopped up. Once it gets the that state it is difficult to reverse.
I do love the marble floors. I practice and recommend a strategy of prevention:-
a) never wear footware indoors. This is also quieter for the neightbours below.
b) wipe up any spills immediately.
c) sweep with very SOFT brush.
d) clean and polish with very soft traditional floor mop. I used a combined cleaner / polish that is pink in colour from
Buff dry with mop and don't walk on it until dry.
For the balcony i use the same technique but sweep it a couple of times first and use just clean water for an inital rinse. The pink cleaner polish does make a good job of the balcony too - again don;t walk on it until dry and it will come up shinning and free of water marks.
But if you are renting out then i guess avoid the use of outdoor footware is problematic but worth trying as 'house rules'