Assign each face up card their number and suit.
If there is a card that is suit opposite color and value of card+1 and the card/spot it is on top of is blank or unknown, move the card to on top of that card and check the values again.
Otherwise, look at the draw card and do the same.
If no moves can be made, draw and repeat.

Scoring would check to see if any cards can be placed in any of the four score spots, and does so unless doing so would hurt the chances of finding spots for other cards.

Something as simple as this would be great, obviously it wouldn't be perfect but it could be improved once there is a base to start off of.