It isn't that difficult. I did it with 80% of fuel left. Avoid x1000 time acceleration, since precision is needed there. Also don't forget you have 3 engines modes (300N, 700N, 6000-ish N). The two first modes are very handy when you need to make precision burns. The RCS submodes are also a must-use to save fuel. "continuous" should be used only for final approach or contingency. I use the 0.05 sec impulse most of the time, and use the keyboard to manoeuver the spacecraft even though I have a joystick (when you use the joystick, RCS is always in continuous mode), that's very fuel efficient. Plan your manoeuvers, anticipate, and take the time.
The key is to launch right on time, and this is a matter of seconds. If your Rinc with the ISS is > 0.1° once in orbit, you know you've missed the launch window. It is really possible to achieve a < 0.03° Rinc at orbital insertion. LaunchMFD helps but isn't enough, you'll have to do some trial and error to find the exact right moment.
A 2-3 days typical orbit synchronisation requires little Dv. What you will have to do is to perform periodic plane corrections, because your orbit is disturbed by the usual factors (Earth non-spherical, Moon, traces of atmosphere...). Small and frequent corrections seem to work the best (since you keep your orbit close to the ideal 0° Rinc theorical path which is used by SyncOrbitMFD to make the calculations).
On final approach anything > 0.03° is unacceptable. You need to be really careful and fine-tune the Rinc on the last orbit before rendez-vous. I don't go over x10 time acceleration at this point.
Docking itself has nothing extraordinary about it. The SoyuzTMA is manoeuverable enough. I guess you should align with the docking port "corridor" and begin the docking run at 1.5 km from the station to make it realistic.