Looks like you have an older style lead bend repair that we see a lot.
Theres 2 ways that I would recommend fixing the location of the toilet.
1- The Hard way. Remove the brass ferrule from the cast iron hub. Use a small drill bit, usually about 3/8" to drill out the lead from the hub and clean that up. Get a 4x3 (assuming the hub is 4") fernco style insert donut in both the regular and heavy duty size (if you only get one, you'll undoubtabley need the other). grease up both sides of the donut and insert new 3" pipe into the donut and hub..
2- The Dangerous way. With LOTS of ventilation to prevent yourself from ingesting toxic lead fumes, heat up the lead from the caulking ferrule but not the cast hub. It doesn't need to get incredibly hot to melt. DO NOT get any water in the molten lead or it will vaporize and explode. Once the ferrule is nice and clean, you can put a regular copper to plastic "mission" style adapter onto the ferrule.
If you choose either of those methods or using the pipe you already have, you should be able to offset the location of the flange using a 45, st45, 22, or st22 to place the center where you need. Minor adjustments can be made using the adapter up to 5°.