Short answer - you're good!
Germany normally requires a visa for Indian nationals, even if only in transit - however there are a number of exceptions that allow air-side transit without visa (TWOV).
One of those exceptions is if you have a Canadian visa, and you are in transit either on the way to Canada, or on the way to your home country (regardless of where you are traveling from). Clearly your concern here is that your Canadian visa will be expired by the time you arrive in Frankfurt, however this is NOT a problem! As long as your visa was valid when you commenced your return trip, then you will be allowed transit.
So your expired Canadian visa IS sufficient for you to transit Frankfurt.
Another of the exceptions is the same as above, but for a US visa. As you have a valid US visa, you are also covered there.
So your unexpired US visa IS also sufficient for you to transit Frankfurt.
Note that in both cases you will need to remain airside, and will need to be scheduled to depart FRA within 24 hours of arrival.